
@font-face {
  font-family: 'Platypi';
  src: url('/assets/fonts/platypi-var.woff2?v=1') format('woff2');
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Jost';
  src: url('/assets/fonts/jost-var.woff2?v=1') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --ciruela: #2e1a47;        
  --ciruela-2: #4a2f6b;      
  --cinta: #f5b700;          
  --cinta-suave: #ffe9a8;    
  --cinta-palida: #fff6da;
  --lino: #fbf7f0;           
  --papel: #ffffff;          
  --arena: #f1ebe1;          
  --tinta: #1f1726;          
  --gris: #564e5f;           
  --borde: #cfc5b8;          
  --borde-campo: #7a7084;    
  --enlace: #5a3a91;         
  --enlace-hover: #3d2566;
  --foco: #1f5fbf;
  --ok: #1b6b45;  --ok-fondo: #e3f3ea;
  --atencion: #7f4d00; --atencion-fondo: #fff1d6;
  --error: #a32019; --error-fondo: #fde7e5;
  --info: #22589e; --info-fondo: #e6effa;
  --f-titulo: 'Platypi', Georgia, 'Times New Roman', serif;
  --f-texto: 'Jost', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --radio: 10px;
  --radio-g: 18px;
  --sombra: 0 1px 2px rgb(46 26 71 / 8%), 0 6px 20px rgb(46 26 71 / 7%);
  --ancho: 74rem;
  --lectura: 44rem;
  --e1: .25rem; --e2: .5rem; --e3: .75rem; --e4: 1rem; --e5: 1.5rem; --e6: 2rem; --e7: 3rem; --e8: 4.5rem;
  --cinta-marcas: repeating-linear-gradient(90deg, var(--ciruela) 0 1.5px, transparent 1.5px 6px);
  --cinta-marcas-largas: repeating-linear-gradient(90deg, var(--ciruela) 0 2px, transparent 2px 30px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 5.5rem; }
body {
  margin: 0;
  background: var(--lino);
  color: var(--tinta);
  font-family: var(--f-texto);
  font-size: 1.0625rem;
  line-height: 1.6;
  font-weight: 400;
  overflow-wrap: break-word;
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
h1, h2, h3, h4 { font-family: var(--f-titulo); color: var(--ciruela); line-height: 1.18; margin: 0 0 var(--e4); font-weight: 650; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(2rem, 1.35rem + 2.6vw, 3.1rem); font-weight: 700; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.05rem); margin-top: var(--e7); }
h3 { font-size: clamp(1.18rem, 1.08rem + .4vw, 1.35rem); margin-top: var(--e5); }
h4 { font-size: 1.08rem; margin-top: var(--e4); }
p, ul, ol, dl, table, figure, blockquote { margin: 0 0 var(--e4); }
ul, ol { padding-left: 1.3rem; }
li + li { margin-top: .35rem; }
strong { font-weight: 600; }
small { font-size: .9rem; }
a { color: var(--enlace); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--enlace-hover); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 2px; border-radius: 3px; }
img, svg { max-width: 100%; height: auto; }
img { display: block; }
hr { border: 0; height: 10px; margin: var(--e7) 0; background: var(--cinta-marcas) left bottom / 100% 6px no-repeat, var(--cinta-marcas-largas) left bottom / 100% 10px no-repeat; opacity: .35; }
table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
th, td { text-align: left; padding: .6rem .75rem; border-bottom: 1px solid var(--borde); vertical-align: top; }
th { font-weight: 600; color: var(--ciruela); background: var(--arena); }
caption { text-align: left; font-weight: 600; padding: 0 0 .5rem; color: var(--ciruela); }
td.num, th.num { text-align: right; white-space: nowrap; }
abbr[title] { text-decoration: underline dotted; }
dt { font-weight: 600; color: var(--ciruela); }
dd { margin: 0 0 var(--e3); }
.num, .importe { font-variant-numeric: tabular-nums lining-nums; }
.visually-hidden, .solo-lector {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.saltar {
  position: absolute; left: .75rem; top: -4rem; z-index: 100; background: var(--ciruela); color: #fff; padding: .7rem 1rem; border-radius: var(--radio); font-weight: 600;
}
.saltar:focus { top: .75rem; color: #fff; }
.contenedor { width: min(100% - 2rem, var(--ancho)); margin-inline: auto; }
.lectura { max-width: var(--lectura); }
main { display: block; padding-bottom: var(--e8); }
[hidden] { display: none !important; }
.cabecera { background: var(--papel); border-bottom: 1px solid var(--borde); position: sticky; top: 0; z-index: 40; }
.cabecera::after { content: ""; display: block; height: 5px; background: var(--cinta) ; box-shadow: inset 0 -1px 0 rgb(46 26 71 / 18%); }
.cabecera__fila { display: flex; align-items: center; gap: var(--e4); min-height: 4.25rem; }
.logo { display: inline-flex; align-items: center; flex: none; padding: .35rem 0; }
.logo img { height: 38px; width: auto; }
.nav { margin-left: auto; display: flex; align-items: center; gap: var(--e3); }
.nav__abrir { display: none; }
.nav__grupo-enlace { display: none; }
html:not(.js) .nav__grupo-btn, html:not(.js) .nav__abrir { display: none !important; }
html:not(.js) .nav__grupo-enlace { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem .7rem; color: var(--tinta); font-weight: 500; text-decoration: none; border-radius: 8px; }
html:not(.js) .nav__grupo-enlace:hover { background: var(--arena); }
.nav__panel { display: flex; align-items: center; gap: var(--e2); }
.nav__lista { list-style: none; margin: 0; padding: 0; display: flex; gap: .15rem; align-items: center; }
.nav__lista > li { margin: 0; position: relative; }
.nav__grupo-btn {
  font: inherit; font-weight: 500; font-size: 1rem; color: var(--tinta); background: none; border: 0; cursor: pointer;
  padding: .6rem .7rem; border-radius: 8px; display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; white-space: nowrap;
}
.nav__grupo-btn::after { content: ""; width: .45rem; height: .45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
.nav__grupo-btn[aria-expanded="true"]::after { transform: translateY(1px) rotate(225deg); }
.nav__grupo-btn:hover, .nav__grupo-btn[aria-expanded="true"] { background: var(--arena); color: var(--ciruela); }
.nav__sub {
  list-style: none; margin: 0; padding: .5rem; position: absolute; top: calc(100% + .35rem); left: 0; min-width: 17rem;
  background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio); box-shadow: var(--sombra); z-index: 50;
}
.nav__sub li { margin: 0; }
.nav__sub a { display: block; padding: .55rem .7rem; border-radius: 7px; color: var(--tinta); text-decoration: none; min-height: 44px; display: flex; align-items: center; }
.nav__sub a:hover, .nav__sub a[aria-current="page"] { background: var(--cinta-palida); color: var(--ciruela); }
.nav__cta { margin-left: var(--e2); white-space: nowrap; display: flex; gap: .5rem; align-items: center; }
.nav .nav__cta-calc { display: none; }
@media (max-width: 1140px) {
  .nav__abrir {
    display: inline-flex; align-items: center; gap: .5rem; font: inherit; font-weight: 600; color: var(--ciruela); background: var(--arena);
    border: 1px solid var(--borde); border-radius: var(--radio); padding: .55rem .9rem; min-height: 44px; cursor: pointer;
  }
  .nav__abrir-icono { width: 18px; height: 12px; position: relative; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
  .nav__abrir-icono::after { content: ""; position: absolute; left: 0; right: 0; top: 3px; border-top: 2px solid currentColor; }
  html.js .nav__panel {
    gap: 0;
    position: fixed; left: 0; right: 0; top: var(--alto-cabecera, 4.6rem); bottom: 0; background: var(--papel); overflow-y: auto;
    padding: var(--e4) 1rem var(--e7); border-top: 1px solid var(--borde); z-index: 45; display: none; overscroll-behavior: contain;
  }
  html.js .nav--abierta .nav__panel { display: block; }
  html:not(.js) .cabecera__fila { flex-wrap: wrap; }
  html:not(.js) .nav { margin-left: 0; width: 100%; }
  html:not(.js) .nav__panel { display: block; width: 100%; }
  html:not(.js) .nav__lista { flex-direction: row; flex-wrap: wrap; }
  html:not(.js) .nav__lista > li { border: 0; }
  html:not(.js) .nav__cta { display: none; }
  .nav__lista { flex-direction: column; align-items: stretch; gap: 0; }
  .nav__lista > li { border-bottom: 1px solid var(--borde); }
  .nav__grupo-btn { width: 100%; justify-content: space-between; padding: .9rem .25rem; font-size: 1.1rem; font-family: var(--f-titulo); color: var(--ciruela); }
  .nav__sub { position: static; box-shadow: none; border: 0; padding: 0 0 .75rem; min-width: 0; }
  .nav__cta { margin: var(--e5) 0 0; flex-direction: column; align-items: stretch; }
  .nav__cta .boton { width: 100%; }
  .nav .nav__cta-calc { display: inline-flex; }
  body.menu-abierto { overflow: hidden; }
}
.nav .nav__cta-cabecera { display: none; }
@media (max-width: 1140px) and (min-width: 560px) { .nav .nav__cta-cabecera { display: inline-flex; } }
.migas { font-size: .92rem; color: var(--gris); padding: var(--e4) 0 0; }
.migas ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
.migas li { margin: 0; display: inline-flex; align-items: center; gap: .5rem; }
.migas li + li::before { content: "/"; color: var(--borde-campo); }
.migas a { color: var(--gris); }
.migas [aria-current] { color: var(--tinta); }
.boton {
  --b-fondo: var(--ciruela); --b-texto: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: .7rem 1.3rem;
  border-radius: 999px; border: 2px solid var(--b-fondo); background: var(--b-fondo); color: var(--b-texto);
  font: inherit; font-weight: 600; font-size: 1.02rem; text-decoration: none; cursor: pointer; line-height: 1.2; text-align: center;
  transition: background-color .15s, color .15s, transform .15s;
}
.boton:hover { --b-fondo: var(--ciruela-2); color: var(--b-texto); text-decoration: none; }
.boton:active { transform: translateY(1px); }
.boton--cinta { --b-fondo: var(--cinta); --b-texto: var(--ciruela); }
.boton--cinta:hover { --b-fondo: #ffc933; }
.boton--linea { --b-fondo: transparent; --b-texto: var(--ciruela); border-color: var(--ciruela); }
.boton--linea:hover { --b-fondo: var(--arena); --b-texto: var(--ciruela); }
.boton--peq { min-height: 44px; padding: .5rem 1rem; font-size: .97rem; }
.boton[disabled] { opacity: .55; cursor: not-allowed; }
.boton__ext { width: .9em; height: .9em; flex: none; }
.enlace-flecha { font-weight: 600; text-decoration: none; display: inline-flex; gap: .35rem; align-items: center; }
.enlace-flecha::after { content: "→"; transition: transform .15s; }
.enlace-flecha:hover::after { transform: translateX(3px); }
.acciones { display: flex; flex-wrap: wrap; gap: var(--e3); align-items: center; }
.cinta { height: 14px; background: var(--cinta); position: relative; border-radius: 3px; }
.cinta::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--cinta-marcas); opacity: .75; }
.cinta::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 10px; background: var(--cinta-marcas-largas); opacity: .85; }
.titulo-cinta { position: relative; padding-bottom: .6rem; }
.titulo-cinta::after { content: ""; position: absolute; left: 0; bottom: 0; width: 4.5rem; height: 8px; background: var(--cinta-marcas) 0 0 / 100% 5px no-repeat, var(--cinta); border-radius: 2px; }
.tarjeta { background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio-g); padding: var(--e5); }
.tarjeta > :last-child { margin-bottom: 0; }
.tarjeta h3:first-child, .tarjeta h2:first-child { margin-top: 0; }
.rejilla { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr)); }
.rejilla--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.rejilla--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.entradilla { font-size: 1.2rem; line-height: 1.55; color: var(--tinta); max-width: 46rem; }
.nota, .aviso, .ok-caja, .info-caja { border-radius: var(--radio); padding: var(--e4) var(--e5); margin: var(--e5) 0; border: 1.5px solid; }
.nota { background: var(--cinta-palida); border-color: #e2c46a; }
.aviso { background: var(--atencion-fondo); border-color: #d9a54a; }
.ok-caja { background: var(--ok-fondo); border-color: #8cc4a6; }
.info-caja { background: var(--info-fondo); border-color: #9dbbe3; }
.nota > :last-child, .aviso > :last-child, .ok-caja > :last-child, .info-caja > :last-child { margin-bottom: 0; }
.nota strong:first-child, .aviso strong:first-child { color: var(--ciruela); }
.sello {
  display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: .15rem .5rem; border-radius: 4px; background: var(--ciruela); color: #fff; vertical-align: .1em;
}
.sello--cinta { background: var(--cinta); color: var(--ciruela); }
.sello--linea { background: transparent; color: var(--ciruela); box-shadow: inset 0 0 0 1.5px var(--ciruela); }
.etiqueta-ext { font-size: .85rem; color: var(--gris); }
.checklist { list-style: none; padding: 0; }
.checklist li { position: relative; padding-left: 2rem; }
.checklist li::before {
  content: ""; position: absolute; left: 0; top: .28rem; width: 1.15rem; height: 1.15rem; border-radius: 4px; background: var(--cinta-suave);
  box-shadow: inset 0 0 0 1.5px var(--ciruela);
}
.checklist li::after { content: ""; position: absolute; left: .38rem; top: .45rem; width: .38rem; height: .65rem; border-right: 2px solid var(--ciruela); border-bottom: 2px solid var(--ciruela); transform: rotate(45deg); }
.pasos { list-style: none; padding: 0; counter-reset: paso; }
.pasos > li { counter-increment: paso; position: relative; padding-left: 3.25rem; min-height: 2.5rem; margin-bottom: var(--e4); }
.pasos > li::before {
  content: counter(paso); position: absolute; left: 0; top: -.1rem; width: 2.3rem; height: 2.3rem; border-radius: 50%;
  display: grid; place-items: center; background: var(--ciruela); color: var(--cinta); font-family: var(--f-titulo); font-weight: 700;
}
.pasos > li > strong:first-child { display: block; color: var(--ciruela); }
.tabla-scroll { overflow-x: auto; margin: 0 0 var(--e5); border: 1px solid var(--borde); border-radius: var(--radio); background: var(--papel); }
.tabla-scroll table { margin: 0; min-width: 32rem; }
.tabla-scroll:focus-visible { outline-offset: 3px; }
.tabla-pista { display: none; font-size: .88rem; color: var(--gris); margin: -.5rem 0 .5rem; }
@media (max-width: 640px) { .tabla-pista { display: block; } }
@media (max-width: 640px) {
  .tabla-scroll table.tabla-tarjetas, table.tabla-tarjetas, table.tabla-tarjetas tbody, table.tabla-tarjetas caption { display: block; width: 100%; min-width: 0; }
  table.tabla-tarjetas caption { padding: .6rem .75rem 0; }
  table.tabla-tarjetas thead { display: block; position: absolute; left: 0; top: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .tabla-scroll { position: relative; }
  table.tabla-tarjetas tr { display: block; padding: .6rem .75rem; border-bottom: 1px solid var(--borde); }
  table.tabla-tarjetas td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: .2rem 0; text-align: right; overflow-wrap: anywhere; min-width: 0; }
  table.tabla-tarjetas td::before { content: attr(data-col); font-weight: 600; color: var(--ciruela); text-align: left; flex: 0 0 42%; }
  table.tabla-tarjetas td:not([data-col])::before { display: none; }
  table.tabla-tarjetas td.num { white-space: normal; }
  table.tabla-tarjetas td > .celda { min-width: 0; text-align: right; }
  table.tabla-tarjetas td:first-child { font-weight: 600; }
  .tabla-scroll:has(table.tabla-tarjetas) { overflow: visible; }
}
.faq { border-top: 1px solid var(--borde); }
.faq details { border-bottom: 1px solid var(--borde); }
.faq summary {
  cursor: pointer; list-style: none; padding: 1rem 2.5rem 1rem 0; position: relative; font-weight: 600; color: var(--ciruela);
  font-size: 1.08rem; min-height: 48px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: .35rem; top: .7rem; font-size: 1.6rem; line-height: 1; font-weight: 400; }
.faq details[open] summary::after { content: "−"; }
.faq details > div { padding: 0 0 var(--e4); }
.faq details > div > :last-child { margin-bottom: 0; }
.indice { background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio); padding: var(--e4) var(--e5); margin: var(--e5) 0; }
.indice p { font-weight: 600; color: var(--ciruela); margin-bottom: .5rem; }
.indice ol { margin: 0; padding-left: 1.2rem; }
.indice li { margin-top: .2rem; }
.fuentes { font-size: .95rem; color: var(--gris); border-top: 1px solid var(--borde); padding-top: var(--e4); margin-top: var(--e7); }
.fuentes h2 { font-size: 1.15rem; margin-top: 0; }
.fuentes ul { padding-left: 1.1rem; }
.firma { font-size: .92rem; color: var(--gris); display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: var(--e3) 0 var(--e5); }
.relacionadas { margin-top: var(--e7); }
.relacionadas ul { list-style: none; padding: 0; display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.relacionadas li { margin: 0; }
.relacionadas a {
  display: block; height: 100%; padding: var(--e4); background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio);
  text-decoration: none; font-weight: 600; color: var(--ciruela);
}
.relacionadas a:hover { border-color: var(--ciruela); background: var(--cinta-palida); }
.relacionadas a span { display: block; font-weight: 400; color: var(--gris); font-size: .93rem; margin-top: .25rem; }
.campo { margin-bottom: var(--e5); }
.campo > label, .campo legend, .etiqueta { display: block; font-weight: 600; color: var(--ciruela); margin-bottom: .4rem; }
.campo fieldset { border: 0; padding: 0; margin: 0; }
.campo__fila { display: flex; align-items: center; gap: var(--e4); }
.campo__num { display: inline-flex; align-items: center; gap: .35rem; flex: none; font-weight: 600; }
input[type="number"], input[type="text"], input[type="date"], input[type="search"], select {
  font: inherit; color: var(--tinta); background: var(--papel); border: 1.5px solid var(--borde-campo); border-radius: 8px;
  padding: .55rem .7rem; min-height: 46px; width: 100%;
}
.campo__num input { width: 6.5rem; text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
input[aria-invalid="true"] { border-color: var(--error); box-shadow: 0 0 0 1px var(--error); }
.campo__ayuda { font-size: .9rem; color: var(--gris); margin: .35rem 0 0; }
.campo__error { font-size: .93rem; color: var(--error); font-weight: 600; margin: .35rem 0 0; }
.casilla { display: flex; gap: .6rem; align-items: flex-start; min-height: 44px; }
.casilla input { width: 1.25rem; height: 1.25rem; margin-top: .2rem; accent-color: var(--ciruela); flex: none; }
.segmentos { display: flex; flex-wrap: wrap; gap: .5rem; border: 0; padding: 0; margin: 0; }
.segmentos label {
  position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: .45rem 1rem; border-radius: 999px;
  border: 1.5px solid var(--borde-campo); background: var(--papel); cursor: pointer; font-weight: 500;
}
.segmentos input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.segmentos label:has(input:checked) { background: var(--ciruela); border-color: var(--ciruela); color: #fff; }
.segmentos label:has(input:focus-visible) { outline: 3px solid var(--foco); outline-offset: 2px; }
.cinta-rango { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; background: transparent; cursor: pointer; margin: 0; }
.cinta-rango::-webkit-slider-runnable-track {
  height: 18px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgb(46 26 71 / 35%);
  background: var(--cinta-marcas) 0 0 / 100% 7px no-repeat, var(--cinta-marcas-largas) 0 0 / 100% 11px no-repeat,
    linear-gradient(90deg, var(--cinta) var(--p, 50%), var(--cinta-suave) var(--p, 50%));
}
.cinta-rango::-moz-range-track {
  height: 18px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgb(46 26 71 / 35%);
  background: var(--cinta-marcas) 0 0 / 100% 7px no-repeat, var(--cinta-marcas-largas) 0 0 / 100% 11px no-repeat,
    linear-gradient(90deg, var(--cinta) var(--p, 50%), var(--cinta-suave) var(--p, 50%));
}
.cinta-rango::-webkit-slider-thumb {
  -webkit-appearance: none; width: 30px; height: 30px; margin-top: -6px; border-radius: 50%; background: var(--ciruela);
  border: 4px solid #fff; box-shadow: 0 0 0 1.5px var(--ciruela), 0 2px 6px rgb(0 0 0 / 25%);
}
.cinta-rango::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--ciruela); border: 4px solid #fff; box-shadow: 0 0 0 1.5px var(--ciruela); }
.cinta-rango:focus-visible { outline: none; }
.cinta-rango:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 1.5px var(--ciruela), 0 0 0 5px var(--foco); }
.cinta-rango:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 1.5px var(--ciruela), 0 0 0 5px var(--foco); }
.calc {
  container-type: inline-size;
  background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio-g); box-shadow: var(--sombra);
  overflow: hidden; margin: 0 0 var(--e6);
}
.calc__cab { background: var(--ciruela); color: #fff; padding: var(--e4) var(--e5); display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: baseline; justify-content: space-between; }
.calc__cab h2, .calc__cab h3 { color: #fff; margin: 0; font-size: 1.35rem; }
.calc__modo { margin: 0; font-size: .92rem; color: #f3ecff; }
.calc__modo .sello { background: var(--cinta); color: var(--ciruela); margin-right: .35rem; }
.calc__modo a { color: #fff; }
.calc__cuerpo { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.calc__form { padding: var(--e5); border-right: 1px solid var(--borde); }
.calc__resultado { padding: var(--e5); background: var(--cinta-palida); }
@container (max-width: 40rem) {
  .calc__cuerpo { grid-template-columns: 1fr; }
  .calc__form { border-right: 0; border-bottom: 1px solid var(--borde); }
}
.calc__producto, fieldset.campo, .campo fieldset { border: 0; padding: 0; margin: 0 0 var(--e5); min-width: 0; }
.calc__avanzado { border: 1px dashed var(--borde-campo); border-radius: var(--radio); padding: .25rem var(--e4); margin-top: var(--e4); background: var(--lino); }
.calc__avanzado summary { cursor: pointer; font-weight: 600; color: var(--enlace); padding: .6rem 0; min-height: 44px; }
.calc__avanzado[open] { padding-bottom: var(--e4); }
.calc__avanzado .campo { margin-bottom: var(--e4); }
.calc__estado { font-size: .9rem; color: var(--gris); margin: 0 0 var(--e3); }
.calc__titulo-res { font-family: var(--f-titulo); color: var(--ciruela); font-size: 1.1rem; margin: 0 0 var(--e3); font-weight: 650; }
.desglose { margin: 0 0 var(--e4); font-variant-numeric: tabular-nums; }
.desglose-fila { display: flex; justify-content: space-between; align-items: baseline; gap: .25rem 1rem; flex-wrap: wrap; padding: .45rem 0; border-bottom: 1px solid rgb(46 26 71 / 14%); }
.desglose dt { font-weight: 500; color: var(--tinta); margin: 0; }
.desglose dd { margin: 0 0 0 auto; text-align: right; font-weight: 600; }
.desglose .total { border-bottom: 2px solid var(--ciruela); }
.desglose .total dt, .desglose .total dd { font-size: 1.2rem; font-weight: 700; color: var(--ciruela); }
.desglose .tae dd { font-size: 1.1rem; }
.calc__cifra { font-family: var(--f-titulo); font-size: clamp(2rem, 1.6rem + 1.6vw, 2.7rem); font-weight: 700; color: var(--ciruela); line-height: 1.1; margin: 0 0 .25rem; font-variant-numeric: tabular-nums; }
.calc__cifra-sub { margin: 0 0 var(--e4); color: var(--gris); font-size: .98rem; }
.calc__acciones { display: flex; flex-wrap: wrap; gap: .5rem; margin: var(--e4) 0; }
.calc__nota { font-size: .9rem; color: var(--gris); margin: var(--e3) 0 0; }
.calc__error-global { background: var(--error-fondo); color: var(--error); border-radius: var(--radio); padding: var(--e3) var(--e4); font-weight: 600; }
.calc__resultado--invalido .calc__valores { opacity: .25; filter: grayscale(1); }
.calc__cuadro summary { cursor: pointer; font-weight: 600; color: var(--enlace); min-height: 44px; padding: .6rem 0; }
.calc__cuadro table { font-size: .93rem; background: var(--papel); }
.oferta { background: var(--papel); border: 1.5px solid var(--ciruela); border-radius: var(--radio); padding: var(--e4); margin-top: var(--e4); }
.oferta .boton { width: 100%; }
.oferta p { font-size: .88rem; color: var(--gris); margin: .6rem 0 0; }
.oferta--banda { display: flex; flex-wrap: wrap; gap: var(--e4); align-items: center; justify-content: space-between; }
.oferta--banda .boton { width: auto; }
.oferta--banda p { flex: 1 1 22rem; margin: 0; }
.ejemplo { position: relative; overflow: hidden; background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio); padding: calc(var(--e4) + 10px) var(--e5) var(--e4); margin: var(--e5) 0; }
.ejemplo::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 10px; background: var(--cinta-marcas) 0 0 / 100% 5px no-repeat, var(--cinta-marcas-largas) 0 0 / 100% 8px no-repeat, var(--cinta); }
.ejemplo__titulo { font-weight: 700; color: var(--ciruela); margin-bottom: .5rem; }
.ejemplo p:last-child { margin-bottom: 0; }
.comparador__opciones { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); margin: var(--e4) 0; }
.opcion { background: var(--papel); border: 1.5px solid var(--borde); border-radius: var(--radio-g); padding: var(--e4) var(--e5); position: relative; }
.opcion h3 { margin: 0 0 .25rem; font-size: 1.2rem; }
.opcion .fecha { color: var(--gris); font-size: .93rem; margin-bottom: var(--e3); }
.opcion dl { display: grid; grid-template-columns: 1fr auto; margin: 0 0 var(--e3); font-variant-numeric: tabular-nums; }
.opcion dt, .opcion dd { margin: 0; padding: .3rem 0; border-bottom: 1px solid var(--arena); }
.opcion dt { font-weight: 500; color: var(--tinta); }
.opcion dd { text-align: right; font-weight: 600; }
.opcion--elegida { border-color: var(--ciruela); box-shadow: 0 0 0 2px var(--ciruela); background: var(--cinta-palida); }
.opcion__barra { height: 10px; background: var(--arena); border-radius: 3px; overflow: hidden; margin: .25rem 0 var(--e3); }
.opcion__barra span { display: block; height: 100%; background: var(--ciruela); }
.opcion__barra-leyenda { font-size: .85rem; color: var(--gris); margin: 0; }
.nivel { background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio-g); padding: var(--e5); display: flex; flex-direction: column; }
.nivel__cab { display: flex; gap: var(--e4); align-items: center; margin-bottom: var(--e3); }
.nivel__cab img { width: 64px; height: 64px; flex: none; }
.nivel__cab h3 { margin: 0; }
.nivel__idea { margin: .15rem 0 0; color: var(--gris); font-weight: 500; }
.nivel ul { margin-top: auto; }
.escenarios__lista { list-style: none; padding: 0; }
.escenarios__lista li { background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio); padding: var(--e3) var(--e4); display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: space-between; }
.escenarios__lista li + li { margin-top: .5rem; }
.buscador { background: var(--ciruela); color: #fff; border-radius: var(--radio-g); padding: var(--e5); margin: var(--e5) 0; }
.buscador label { color: #fff; font-weight: 600; display: block; margin-bottom: .5rem; font-size: 1.1rem; }
.buscador__fila { display: flex; gap: .5rem; }
.buscador input[type="search"] { border-color: transparent; font-size: 1.05rem; }
.buscador__estado { margin: .75rem 0 0; color: #f3ecff; font-size: .95rem; min-height: 1.5em; }
.buscador__resultados { list-style: none; padding: 0; margin: var(--e3) 0 0; }
.buscador__resultados li { margin: 0 0 .5rem; }
.buscador__resultados a { display: block; background: var(--papel); color: var(--ciruela); border-radius: var(--radio); padding: var(--e3) var(--e4); text-decoration: none; font-weight: 600; }
.buscador__resultados a span { display: block; font-weight: 400; color: var(--gris); font-size: .93rem; }
.buscador__resultados a:hover { background: var(--cinta-palida); }
.buscador .boton--linea { --b-texto: #fff; border-color: #fff; }
.buscador .boton--linea:hover { --b-fondo: var(--ciruela-2); }
.guia-tarjeta { display: flex; flex-direction: column; background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio-g); overflow: hidden; text-decoration: none; color: var(--tinta); height: 100%; }
.guia-tarjeta img { width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; background: var(--arena); }
.guia-tarjeta div { padding: var(--e4) var(--e5) var(--e5); }
.guia-tarjeta strong { display: block; font-family: var(--f-titulo); color: var(--ciruela); font-size: 1.18rem; line-height: 1.25; margin-bottom: .35rem; }
.guia-tarjeta span { color: var(--gris); font-size: .96rem; }
.guia-tarjeta:hover { border-color: var(--ciruela); }
.guia-tarjeta:hover strong { text-decoration: underline; }
.portada-guia { border-radius: var(--radio-g); overflow: hidden; margin: var(--e4) 0 var(--e5); border: 1px solid var(--borde); }
.portada-guia img { width: 100%; height: auto; }
.banner { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: var(--e5); background: var(--ciruela); color: #fff; border-radius: var(--radio-g); overflow: hidden; margin: var(--e6) 0; }
.banner__texto { padding: var(--e6); }
.banner__texto h2, .banner__texto h3 { color: #fff; margin-top: 0; }
.banner__texto p { color: #f3ecff; }
.banner__texto a:not(.boton) { color: #fff; }
.boton--sobre-oscuro { --b-texto: #fff; border-color: #fff; }
.boton--sobre-oscuro:hover { --b-fondo: var(--ciruela); --b-texto: #fff; }
.banner__img { align-self: stretch; background: var(--ciruela-2); display: flex; align-items: flex-end; justify-content: center; }
.banner__img img { width: 100%; height: auto; }
.banner--claro { background: var(--cinta-suave); color: var(--tinta); }
.banner--claro h2, .banner--claro h3 { color: var(--ciruela); }
.banner--claro p { color: var(--tinta); }
.banner--claro .banner__img { background: var(--cinta); }
@media (max-width: 720px) { .banner { grid-template-columns: 1fr; } .banner__texto { padding: var(--e5); } .banner__img { order: -1; max-height: 12rem; overflow: hidden; } }
.iconos { list-style: none; padding: 0; display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.5rem), 1fr)); }
.iconos li { margin: 0; background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio); padding: var(--e4); }
.iconos img { width: 44px; height: 44px; margin-bottom: .5rem; }
.iconos strong { display: block; color: var(--ciruela); }
.iconos span { color: var(--gris); font-size: .96rem; }
.proceso { list-style: none; padding: 0; display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); counter-reset: fase; }
.proceso li { margin: 0; counter-increment: fase; background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio-g); overflow: hidden; }
.proceso img { width: 100%; height: auto; aspect-ratio: 4 / 3; background: var(--cinta-palida); }
.proceso div { padding: var(--e4); }
.proceso strong { display: block; font-family: var(--f-titulo); color: var(--ciruela); font-size: 1.12rem; }
.proceso strong::before { content: counter(fase) ". "; color: var(--gris); }
.proceso span { color: var(--gris); font-size: .96rem; }
.pie { background: var(--ciruela); color: #efe8f7; margin-top: var(--e8); font-size: .96rem; }
.pie::before { content: ""; display: block; height: 14px; background: var(--cinta-marcas) 0 0 / 100% 6px no-repeat, var(--cinta-marcas-largas) 0 0 / 100% 10px no-repeat, var(--cinta); }
.pie a { color: #fff; }
.pie__rejilla { display: grid; gap: var(--e5) var(--e6); grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); padding: var(--e7) 0 var(--e6); }
.pie h2 { color: var(--cinta); font-size: 1.05rem; margin: 0 0 .75rem; font-family: var(--f-texto); font-weight: 700; letter-spacing: .02em; }
.pie ul { list-style: none; padding: 0; margin: 0; }
.pie li { margin: 0; }
.pie li a { display: inline-block; padding: .3rem 0; text-decoration: none; }
.pie li a:hover { text-decoration: underline; }
.pie__empresa { border-top: 1px solid rgb(255 255 255 / 18%); padding: var(--e5) 0; display: grid; gap: var(--e4); grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
@media (max-width: 760px) { .pie__empresa { grid-template-columns: 1fr; } }
.pie__empresa p { margin: 0 0 .5rem; }
.pie__legal { border-top: 1px solid rgb(255 255 255 / 18%); padding: var(--e4) 0 var(--e6); font-size: .9rem; color: #d9cfe6; }
.pie__logo img { height: 36px; width: auto; margin-bottom: var(--e3); }
.barra-movil { display: none; }
@media (max-width: 760px) {
  .barra-movil {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; gap: .5rem; padding: .6rem 1rem calc(.6rem + env(safe-area-inset-bottom));
    background: var(--papel); border-top: 1px solid var(--borde); box-shadow: 0 -4px 14px rgb(46 26 71 / 10%);
  }
  .barra-movil .boton { flex: 1 1 auto; min-height: 46px; padding: .5rem .8rem; white-space: nowrap; }
  .barra-movil .boton--linea { flex: 0 0 auto; }
  .con-barra-movil main { padding-bottom: 6.5rem; }
  .barra-movil--oculta { display: none; }
}
.dato-empresa { display: grid; grid-template-columns: minmax(9rem, max-content) 1fr; gap: .4rem 1.25rem; margin: 0 0 var(--e5); }
.dato-empresa dt { margin: 0; }
.dato-empresa dd { margin: 0; }
@media (max-width: 560px) { .dato-empresa { grid-template-columns: 1fr; } .dato-empresa dd { margin-bottom: .6rem; } }
.canales { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); margin: var(--e4) 0 var(--e5); }
.canal { background: var(--papel); border: 1px solid var(--borde); border-radius: var(--radio); padding: var(--e4); }
.canal img { width: 36px; height: 36px; margin-bottom: .4rem; }
.canal strong { display: block; color: var(--ciruela); }
.canal a { font-weight: 600; font-size: 1.08rem; word-break: break-word; }
.canal p { font-size: .93rem; color: var(--gris); margin: .35rem 0 0; }
.copiar { display: inline-block; vertical-align: middle; font: inherit; font-size: .88rem; line-height: 1.3; background: none; border: 1px solid var(--borde-campo); color: var(--ciruela); border-radius: 6px; padding: .3rem .65rem; cursor: pointer; margin: .2rem 0 .2rem .4rem; min-height: 32px; min-width: 44px; }
.copiar:hover { background: var(--arena); }
.aviso-js { font-size: .92rem; color: var(--gris); }
.figura { margin: var(--e5) 0; }
.figura img { width: 100%; height: auto; border-radius: var(--radio-g); }
.figura figcaption { font-size: .9rem; color: var(--gris); margin-top: .5rem; }
.dos-col { display: grid; gap: var(--e6); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 820px) { .dos-col { grid-template-columns: 1fr; } }
.ficha-impresion { background: var(--papel); border: 2px dashed var(--ciruela); border-radius: var(--radio-g); padding: var(--e5); }
#hoja-impresion { display: none; }
.hero { padding: var(--e6) 0 var(--e7); background: linear-gradient(180deg, var(--papel) 0, var(--lino) 100%); border-bottom: 1px solid var(--borde); }
.hero__rejilla { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--e6); align-items: start; }
.hero h1 { margin-bottom: var(--e3); }
.hero h1 em { font-style: normal; background: linear-gradient(transparent 62%, var(--cinta) 62%, var(--cinta) 92%, transparent 92%); padding: 0 .1em; }
.hero__ejemplo { background: var(--cinta-palida); border: 1.5px solid #e2c46a; border-radius: var(--radio); padding: .6rem .9rem; font-variant-numeric: tabular-nums; }
.hero__lema { text-wrap: balance; font-family: var(--f-titulo); font-size: 1.15rem; color: var(--ciruela-2); margin-bottom: var(--e3); font-weight: 500; }
.hero__puntos { list-style: none; padding: 0; margin: var(--e4) 0 var(--e5); }
.hero__puntos li { padding-left: 1.6rem; position: relative; }
.hero__puntos li::before { content: ""; position: absolute; left: 0; top: .5rem; width: .8rem; height: .8rem; background: var(--cinta); border: 2px solid var(--ciruela); border-radius: 2px; transform: rotate(45deg); }
.hero__ilustracion { margin-top: var(--e5); }
.hero__ilustracion img { width: 100%; max-width: 26rem; height: auto; }
.hero .calc { margin: 0; }
@media (max-width: 960px) {
  .hero__rejilla { grid-template-columns: 1fr; }
  .hero__ilustracion { display: none; }
  .hero__puntos { display: none; }
  .hero { padding-top: var(--e4); }
}
.seccion { padding: var(--e7) 0 0; }
.seccion > .contenedor > h2:first-child, .seccion__cab h2 { margin-top: 0; }
.seccion__cab { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--e3) var(--e5); margin-bottom: var(--e5); }
.seccion__cab p { margin: 0; max-width: 40rem; color: var(--gris); }
.seccion--banda { background: var(--arena); padding: var(--e7) 0; margin-top: var(--e7); }
.seccion--oscura { background: var(--ciruela); color: #efe8f7; padding: var(--e7) 0; margin-top: var(--e7); }
.seccion--oscura h2, .seccion--oscura h3 { color: #fff; }
.seccion--oscura a { color: #fff; }
.precio-desglose { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--e6); align-items: center; }
@media (max-width: 820px) { .precio-desglose { grid-template-columns: 1fr; } }
.barra-coste { display: flex; height: 3rem; border-radius: 8px; overflow: hidden; border: 1.5px solid var(--ciruela); margin: var(--e3) 0; }
.barra-coste span { display: block; }
.barra-leyenda { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font-size: .95rem; margin: 0 0 var(--e4); }
.barra-leyenda span::before { content: ""; display: inline-block; width: .9rem; height: .9rem; border-radius: 3px; margin-right: .4rem; vertical-align: -.1rem; border: 1.5px solid var(--ciruela); }
.barra-leyenda .l-capital::before { background: var(--ciruela); }
.barra-leyenda .l-intereses::before { background: var(--cinta); }
.barra-coste .capital { background: var(--ciruela); color: #fff; }
.barra-coste .intereses { background: var(--cinta); color: var(--ciruela); }
.metodo { display: grid; grid-template-columns: auto 1fr; gap: var(--e5); align-items: start; }
.metodo img { width: 120px; height: 120px; }
@media (max-width: 560px) { .metodo { grid-template-columns: 1fr; } }
.pagina-cab { padding: var(--e3) 0 var(--e5); }
.pagina-cab h1 { margin-top: var(--e4); max-width: 52rem; }
.pagina-cab .entradilla { margin-bottom: var(--e3); }
.pagina-cab--con-figura { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--e6); align-items: center; }
.pagina-cab--con-figura img { width: 100%; max-width: 22rem; justify-self: end; }
@media (max-width: 820px) { .pagina-cab--con-figura { grid-template-columns: 1fr; } .pagina-cab--con-figura img { display: none; } }
.articulo { max-width: var(--lectura); }
.articulo--ancho { max-width: none; }
.articulo--ancho > * { max-width: var(--lectura); }
.articulo--ancho > :is(.calc, .comparador-estatico, .tabla-scroll, .rejilla, .canales, .proceso, .iconos, .banner, .oferta, .dos-col, .ejemplo, .indice, section, figure) { max-width: none; }
.articulo--ancho > .ejemplo, .articulo--ancho > .indice { max-width: 56rem; }
.articulo > h2 { scroll-margin-top: 6rem; }
.articulo h2 + p, .articulo h3 + p { margin-top: 0; }
.cta-final { margin-top: var(--e7); }
.no-encontrada { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--e6); align-items: center; padding: var(--e7) 0; }
.no-encontrada img { width: 100%; max-width: 26rem; }
@media (max-width: 760px) { .no-encontrada { grid-template-columns: 1fr; } }
.mapa { columns: 2 18rem; column-gap: var(--e6); }
.mapa section { break-inside: avoid; margin-bottom: var(--e5); }
.mapa h2 { font-size: 1.25rem; margin-top: 0; }
@media print {
  @page { margin: 16mm 14mm; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .cabecera, .pie, .migas, .barra-movil, .nav, .saltar, .calc__acciones, .oferta, .calc__avanzado, .buscador, .relacionadas, .acciones, .banner, .copiar { display: none !important; }
  a { color: #000; text-decoration: underline; }
  .articulo a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
  h1, h2, h3 { color: #000; break-after: avoid; }
  table, .ejemplo, .tarjeta, .opcion, .calc { break-inside: avoid; }
  .tabla-scroll { overflow: visible; border: 0; }
  .tabla-scroll table { min-width: 0; }
  .calc, .tarjeta, .nota, .aviso { box-shadow: none; border-color: #999; background: #fff; }
  .calc__cab { background: #fff; color: #000; border-bottom: 1px solid #999; }
  .calc__cab h2, .calc__cab h3, .calc__modo { color: #000; }
  details { display: block; }
  details > summary { list-style: none; }
  .faq details > div, details[open] > * { display: block; }
  body.imprimiendo > *:not(#hoja-impresion) { display: none !important; }
  body.imprimiendo #hoja-impresion { display: block !important; }
  #hoja-impresion h1 { font-size: 18pt; margin: 0 0 4mm; }
  #hoja-impresion table { width: 100%; border-collapse: collapse; margin: 3mm 0; }
  #hoja-impresion th, #hoja-impresion td { border: 1px solid #999; padding: 2mm 3mm; font-size: 10pt; background: #fff; color: #000; }
  #hoja-impresion .pie-hoja { font-size: 9pt; margin-top: 6mm; border-top: 1px solid #999; padding-top: 3mm; }
}
