/* CUBO DIGITAL — estilos no críticos. Tokens, cabecera y portada en critico.css (en línea).
   Línea visual: zonas oscuras con aurora de color (portada, cabeceras, bloque invertido, CTA y pie)
   y zonas claras limpias con tarjetas de borde fino. Cada servicio tiene su degradado (.tono-*). */

/* ---------- Navegación: desplegable y panel móvil ---------- */
.nav__item{position:relative}
.nav__grupo{display:flex;align-items:center}
.nav__abrir{display:inline-flex;align-items:center;justify-content:center;width:30px;height:40px;margin-left:-6px;border:0;background:none;border-radius:8px;color:#DCD9F5;cursor:pointer}
.nav__abrir:hover{color:#fff}
.nav__abrir .icono{width:16px;height:16px;transition:transform .2s}
.nav__abrir[aria-expanded=true] .icono{transform:rotate(180deg)}
.nav__sub{position:absolute;top:calc(100% + 12px);left:-12px;min-width:360px;margin:0;padding:8px;list-style:none;background:var(--blanco);border:1px solid var(--linea);border-radius:18px;box-shadow:var(--sombra-alta);display:none}
.nav__item:hover .nav__sub,.nav__item:focus-within .nav__sub,.nav__sub[data-abierto]{display:block}
.nav__sub[data-cerrado]{display:none!important}
.nav__sub a{display:flex;gap:14px;align-items:flex-start;padding:10px 12px;border-radius:12px;color:var(--marino);text-decoration:none}
.nav__sub a:hover,.nav__sub a:focus-visible{background:var(--fondo-2)}
.nav__sub .icono{box-sizing:content-box;padding:8px;border-radius:10px;background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;width:18px;height:18px}
.nav__sub strong{display:block;font-weight:600}
.nav__sub small{display:block;color:var(--pizarra);font-size:.85rem;line-height:1.35}
.nav__cta{margin-left:10px}
.nav__cta .boton{min-height:42px;padding:9px 18px;font-size:.95rem}

.panel-movil{position:fixed;inset:0;z-index:80;background:var(--noche);color:#fff;overflow-y:auto;padding:0 0 32px}
.panel-movil[hidden]{display:none}
.panel-movil__cab{display:flex;align-items:center;justify-content:space-between;min-height:72px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}
.panel-movil__cab img{height:28px;width:auto}
.panel-movil ul{list-style:none;margin:0;padding:0}
.panel-movil li a{display:block;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;font:600 1.2rem var(--f-titular)}
.panel-movil .panel-movil__sub a{display:flex;align-items:center;gap:12px;font:500 1rem var(--f-texto);color:#DCD9F5;padding:10px 4px 10px 8px}
.panel-movil__sub a::before{content:"";width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--c),var(--c2))}
.panel-movil__idiomas{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.panel-movil .panel-movil__idiomas a{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);font:500 .95rem var(--f-texto)}
.panel-movil .panel-movil__idiomas a[aria-current=true]{background:#fff;color:var(--marino)}
.panel-movil .boton{width:100%;margin-top:24px}
html.sin-scroll{overflow:hidden}

/* ---------- Secciones y titulares ---------- */
.seccion{position:relative;padding:80px 0}
.seccion--alterna{background:var(--fondo-2)}
.seccion--blanca{background:var(--blanco)}
@media (min-width:960px){.seccion{padding:120px 0}}
.seccion+.seccion--blanca,.seccion--blanca+.seccion--blanca{border-top:1px solid var(--linea)}
.seccion__cab{max-width:760px;margin-bottom:48px}
.seccion__cab--centro{margin-inline:auto;text-align:center}
.seccion__cab p{color:var(--pizarra);font-size:1.12rem}
.texto-largo{max-width:68ch}
.texto-largo p,.texto-largo li{color:var(--marino)}
.secundario{color:var(--pizarra)}

/* ---------- Rejilla de bloques ---------- */
.bloques{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:720px){.bloques{grid-template-columns:repeat(6,1fr)}.b-2{grid-column:span 2}.b-3{grid-column:span 3}.b-4{grid-column:span 4}.b-6{grid-column:span 6}.bf-2{grid-row:span 2}}
@media (min-width:720px) and (max-width:959px){.b-2{grid-column:span 3}.b-4{grid-column:span 6}}
.tarjeta{position:relative;display:flex;flex-direction:column;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-g);padding:26px;box-shadow:var(--sombra);overflow:hidden}
@media (min-width:960px){.tarjeta{padding:32px}}
.tarjeta h3{margin-bottom:.45em}
.tarjeta p:last-child{margin-bottom:0}
.tarjeta p{color:var(--pizarra)}
.tarjeta__icono{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,var(--c,#6D4AFF),var(--c2,#2563EB));color:#fff;margin-bottom:22px;box-shadow:0 10px 24px -10px var(--c,#6D4AFF)}
.tarjeta__num{font:600 .85rem var(--f-texto);color:var(--c-hondo,var(--azul-hondo));margin-bottom:12px}
.tarjeta__pie{margin-top:auto;padding-top:22px}
.tarjeta--enlace{text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.tarjeta--enlace:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta);border-color:var(--c,#C9C5EE)}
.tarjeta--enlace:hover .flecha{transform:translateX(4px)}
.tarjeta--color{background:linear-gradient(180deg,var(--c-suave),#fff 85%)}
.tarjeta--lleno{background:linear-gradient(145deg,var(--c),var(--c2));color:#fff;border-color:transparent;box-shadow:0 20px 40px -20px var(--c)}
.tarjeta--lleno::after{content:"";position:absolute;inset:auto -30% -55% auto;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.22),transparent);pointer-events:none}
.tarjeta--lleno h3{color:#fff}
.tarjeta--lleno p{color:rgba(255,255,255,.9)}
.tarjeta--lleno .tarjeta__icono{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.tarjeta--lleno .enlace-flecha{color:#fff}
.tarjeta--lleno.tarjeta--enlace:hover{border-color:transparent;box-shadow:0 28px 48px -20px var(--c)}
.tarjeta--marino{background:var(--noche);color:#fff;border-color:rgba(255,255,255,.08)}
.tarjeta--marino::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 100% 0%,rgba(109,74,255,.45),transparent 70%);pointer-events:none}
.tarjeta--marino>*{position:relative}
.tarjeta--marino h2,.tarjeta--marino h3{color:#fff}
.tarjeta--marino p,.tarjeta--marino li{color:#DCD9F5}
.tarjeta--marino a{color:#fff}
.tarjeta--marino .tarjeta__num{color:#C4B5FD}
.tarjeta--suave{background:var(--fondo-2);box-shadow:none}
.enlace-flecha{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--c-hondo,var(--azul-hondo));text-decoration:none}
.enlace-flecha:hover{text-decoration:underline;text-underline-offset:.25em}
.tarjeta--marino .enlace-flecha{color:#fff}
.flecha{width:18px;height:18px;transition:transform .2s}

/* Lista con marcas de verificación */
.lista-check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lista-check li{position:relative;padding-left:32px}
.lista-check li::before{content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--c,#6D4AFF),var(--c2,#2563EB)) center/cover}
.lista-check li::after{content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 12 3.5 3.5L17 9'/%3E%3C/svg%3E") center/13px no-repeat}
.tarjeta--marino .lista-check li::before,.invertido .lista-check li::before{background:linear-gradient(135deg,#A78BFA,#22D3EE)}
.lista-columnas{columns:1;column-gap:32px}
@media (min-width:720px){.lista-columnas{columns:2}.lista-columnas li{break-inside:avoid;margin-bottom:10px}}

/* Fichas (módulos/piezas) */
.piezas{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.piezas li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--blanco);border:1px solid var(--linea);font:500 .9rem var(--f-texto);color:var(--marino)}
.piezas li::before{content:"";width:7px;height:7px;border-radius:50%;background:#6D4AFF}
.piezas li:nth-child(5n+2)::before{background:#DB2777}
.piezas li:nth-child(5n+3)::before{background:#2563EB}
.piezas li:nth-child(5n+4)::before{background:#0E7490}
.piezas li:nth-child(5n)::before{background:#C2410C}

/* ---------- Portada ---------- */
.portada__visual{position:relative}
.portada__notas{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:34px;padding:0;list-style:none;color:#DCD9F5;font-size:.95rem}
.portada__notas li{display:flex;align-items:center;gap:8px}
.portada__notas .icono{width:18px;height:18px;color:var(--cian);stroke-width:2.4}
/* Un único momento de movimiento: el mosaico aparece al cargar. */
@keyframes aparecer{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.mosaico .tesela{animation:aparecer .7s cubic-bezier(.2,.7,.2,1) both}
.mosaico .tesela:nth-child(2){animation-delay:.08s}.mosaico .tesela:nth-child(3){animation-delay:.16s}.mosaico .tesela:nth-child(4){animation-delay:.24s}.mosaico .tesela:nth-child(5){animation-delay:.32s}.mosaico .tesela:nth-child(6){animation-delay:.44s}

/* Cifras */
.cifras{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media (min-width:960px){.cifras{grid-template-columns:repeat(4,1fr)}}
.cifra{position:relative;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-g);padding:28px 24px;box-shadow:var(--sombra);overflow:hidden}
.cifra::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--c),var(--c2))}
.cifra b{display:block;font:700 clamp(2.4rem,1.7rem + 2.2vw,3.6rem)/1 var(--f-titular);letter-spacing:-.05em;margin-bottom:14px;background:linear-gradient(120deg,var(--c),var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent}
.cifra span{font-size:.98rem;color:var(--pizarra)}

/* Pasos del método */
.pasos{list-style:none;margin:0;padding:0;display:grid;gap:20px;counter-reset:paso}
@media (min-width:720px){.pasos--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.pasos--4{grid-template-columns:repeat(4,1fr)}}
.paso{position:relative;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-g);padding:28px 24px;counter-increment:paso;box-shadow:var(--sombra)}
.paso::before{content:counter(paso,decimal-leading-zero);display:block;font:700 2.2rem/1 var(--f-titular);letter-spacing:-.04em;margin-bottom:20px;background:linear-gradient(120deg,#6D4AFF,#2563EB);-webkit-background-clip:text;background-clip:text;color:transparent}
.paso:nth-child(2)::before{background-image:linear-gradient(120deg,#DB2777,#7C3AED)}
.paso:nth-child(3)::before{background-image:linear-gradient(120deg,#2563EB,#0E7490)}
.paso:nth-child(4)::before{background-image:linear-gradient(120deg,#0E7490,#0F766E)}
.paso p{color:var(--pizarra);margin:0}

/* Fases (página Método) */
.fases{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.fase{display:grid;gap:20px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-g);padding:26px;box-shadow:var(--sombra)}
@media (min-width:960px){.fase{grid-template-columns:90px 1.3fr 1fr;padding:34px;gap:32px}}
.fase__num{font:700 3rem/1 var(--f-titular);letter-spacing:-.05em;background:linear-gradient(120deg,#6D4AFF,#2563EB);-webkit-background-clip:text;background-clip:text;color:transparent}
.fase:nth-child(4n+2) .fase__num{background-image:linear-gradient(120deg,#DB2777,#7C3AED)}.fase:nth-child(4n+3) .fase__num{background-image:linear-gradient(120deg,#2563EB,#0E7490)}.fase:nth-child(4n) .fase__num{background-image:linear-gradient(120deg,#0E7490,#0F766E)}
.fase__recibe{background:var(--fondo-2);border-radius:16px;padding:20px 22px}
.fase__recibe h4{font:600 1rem var(--f-titular);color:var(--marino);margin-bottom:12px}
.fase p{color:var(--pizarra)}
.fase__dura{display:inline-block;margin-top:4px;font:500 .85rem var(--f-texto);color:var(--azul-hondo);background:#F1EEFF;padding:4px 12px;border-radius:999px}

/* ---------- Bloque invertido (oscuro con aurora) ---------- */
.invertido{position:relative;isolation:isolate;background:var(--noche);color:#fff;overflow:hidden}
.invertido::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 60% at 0% 0%,rgba(109,74,255,.4),transparent 70%),radial-gradient(35% 55% at 100% 100%,rgba(34,211,238,.22),transparent 70%)}
.invertido h2,.invertido h3{color:#fff}
.invertido p,.invertido li{color:#DCD9F5}
.invertido .marca{background-image:linear-gradient(100deg,#A78BFA,#60A5FA 50%,#22D3EE)}
.invertido a:not(.boton){color:#fff}
.invertido .tarjeta{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border-color:rgba(255,255,255,.1);box-shadow:none}
.invertido .tarjeta::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--c,#6D4AFF),transparent)}
.invertido .tarjeta p{color:#DCD9F5}
.invertido .boton--secundario{background:rgba(255,255,255,.05);color:#fff;border-color:rgba(255,255,255,.22)}

/* ---------- CTA final ---------- */
.cta{padding:80px 0}
.cta__caja{position:relative;isolation:isolate;display:grid;gap:28px;align-items:center;background:var(--noche);color:#fff;border-radius:32px;padding:40px 26px;overflow:hidden}
.cta__caja::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 90% at 100% 0%,rgba(109,74,255,.7),transparent 70%),radial-gradient(40% 80% at 80% 110%,rgba(219,39,119,.45),transparent 70%),radial-gradient(35% 70% at 0% 100%,rgba(34,211,238,.25),transparent 70%)}
@media (min-width:960px){.cta{padding:120px 0}.cta__caja{grid-template-columns:1.4fr auto;padding:64px 72px}}
.cta__caja h2{color:#fff;margin-bottom:.3em}
.cta__caja p{color:#DCD9F5;margin:0;font-size:1.1rem}
.cta__caja .acciones{margin-top:0}
.cta__caja .boton--secundario{background:rgba(255,255,255,.05);color:#fff;border-color:rgba(255,255,255,.25)}
.cta__caja .boton--secundario:hover{background:rgba(255,255,255,.12)}
.cta__cubo{display:none}

/* ---------- Comparativa y planes ---------- */
.tabla-scroll{overflow-x:auto;border:1px solid var(--linea);border-radius:var(--radio-g);background:var(--blanco);box-shadow:var(--sombra)}
.comparativa{width:100%;border-collapse:collapse;min-width:640px}
.comparativa th,.comparativa td{padding:16px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linea)}
.comparativa thead th{font:600 .95rem var(--f-titular);color:var(--marino);background:var(--fondo-2)}
.comparativa thead th:last-child{background:linear-gradient(120deg,var(--c,#6D4AFF),var(--c2,#4F46E5));color:#fff}
.comparativa tbody th{font-weight:600;width:24%}
.comparativa td{color:var(--pizarra)}
.comparativa td:last-child{color:var(--marino);background:var(--c-suave,#F1EEFF)}
.comparativa tr:last-child th,.comparativa tr:last-child td{border-bottom:0}
.planes{display:grid;gap:24px}
@media (min-width:960px){.planes{grid-template-columns:repeat(3,1fr);align-items:start}}
.plan__precio{font:700 2rem var(--f-titular);color:var(--marino);letter-spacing:-.035em;margin:4px 0}
.plan__nota{font-size:.92rem;color:var(--pizarra);margin-bottom:20px}
.plan .lista-check{margin-bottom:8px}
.plan--destacado{border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,var(--c,#6D4AFF),var(--c2,#2563EB)) border-box;box-shadow:var(--sombra-alta)}
.plan__marca{align-self:flex-start;margin-bottom:14px;background:linear-gradient(120deg,var(--c,#6D4AFF),var(--c2,#4F46E5));color:#fff;font:600 .8rem var(--f-texto);padding:5px 12px;border-radius:999px}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:var(--blanco);border:1px solid var(--linea);border-radius:18px;transition:border-color .2s,box-shadow .2s}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;font:600 1.06rem var(--f-titular);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--fondo-2);color:var(--azul-hondo);font:500 1.25rem var(--f-titular)}
.faq details[open]{border-color:#C9C5EE;box-shadow:var(--sombra)}
.faq details[open] summary::after{content:"−";background:linear-gradient(120deg,#6D4AFF,#2563EB);color:#fff}
.faq details>div{padding:0 24px 22px;color:var(--pizarra)}
.faq details>div p:last-child{margin-bottom:0}

/* ---------- Casos ---------- */
.caso{height:100%}
.caso::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--c,#6D4AFF),var(--c2,#2563EB))}
.caso__sector{display:inline-flex;align-items:center;gap:8px;font:600 .88rem var(--f-texto);color:var(--c-hondo,var(--azul-hondo));margin-bottom:12px}
.caso-detalle{display:grid;gap:20px}
@media (min-width:960px){.caso-detalle{grid-template-columns:repeat(3,1fr)}}

/* ---------- Sectores ---------- */
.sectores{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:600px){.sectores{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.sectores{grid-template-columns:repeat(4,1fr)}}
.sectores .tarjeta h3,.sectores .tarjeta .h3{font-size:1.15rem}

/* ---------- Formularios ---------- */
.form{display:grid;gap:22px}
.campo{display:grid;gap:8px;align-content:start}
.campo label,.campo legend,.campo__etiqueta{font-weight:600;font-size:.97rem;color:var(--marino);padding:0}
.campo .ayuda{font-size:.88rem;color:var(--pizarra);margin:-2px 0 0}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo input[type=password],.campo input[type=date],.campo input[type=number],.campo select,.campo textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid #D5D8E6;border-radius:12px;background:var(--blanco);color:var(--marino);font:400 1rem var(--f-texto);transition:border-color .15s,box-shadow .15s}
.campo textarea{min-height:150px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azul);outline:0;box-shadow:0 0 0 4px rgba(109,74,255,.18)}
.campo--error input,.campo--error select,.campo--error textarea{border-color:var(--error)}
.campo__error{color:var(--error);font-size:.9rem;font-weight:500;margin:0}
.dos-col{display:grid;gap:22px}
@media (min-width:720px){.dos-col{grid-template-columns:1fr 1fr}}
fieldset{border:0;margin:0;padding:0;min-width:0}
.opciones{display:grid;gap:10px}
@media (min-width:600px){.opciones--2{grid-template-columns:1fr 1fr}.opciones--3{grid-template-columns:repeat(3,1fr)}}
.opcion{position:relative}
.opcion input{position:absolute;opacity:0;width:1px;height:1px}
.opcion label{display:flex;gap:12px;align-items:flex-start;height:100%;padding:14px 16px;border:1px solid #D5D8E6;border-radius:14px;background:var(--blanco);cursor:pointer;font-weight:500;transition:border-color .15s,background-color .15s,box-shadow .15s}
.opcion label:hover{border-color:#B5B0E6}
.opcion label small{display:block;font-weight:400;color:var(--pizarra);font-size:.88rem;line-height:1.4}
.opcion label::before{content:"";flex-shrink:0;width:20px;height:20px;margin-top:2px;border:1.5px solid #B9BCD0;border-radius:6px;background:var(--blanco)}
.opcion input[type=radio]+label::before{border-radius:50%}
.opcion input:checked+label{border-color:var(--c,var(--azul));background:var(--c-suave,#F1EEFF);box-shadow:0 0 0 1px var(--c,var(--azul))}
.opcion input:checked+label::before{border-color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/13px no-repeat,linear-gradient(135deg,var(--c,#6D4AFF),var(--c2,#2563EB))}
.opcion input:focus-visible+label{outline:2px solid var(--azul);outline-offset:2px}
.casilla{display:flex;gap:12px;align-items:flex-start}
.casilla input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--azul);flex-shrink:0}
.trampa{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.aviso{border-radius:16px;padding:16px 18px;border:1px solid}
.aviso--error{background:#FEF3F2;border-color:#FDA29B;color:#7A271A}
.aviso--ok{background:#ECFDF5;border-color:#86E3BE;color:#054F31}
.aviso ul{margin:8px 0 0;padding-left:20px}
.aviso a{color:inherit}

/* Configurador por pasos */
.configurador{display:grid;gap:32px}
@media (min-width:1080px){.configurador{grid-template-columns:280px 1fr;gap:48px;align-items:start}}
.progreso{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:pp}
@media (max-width:1079px){.progreso{grid-template-columns:repeat(4,1fr)}.progreso small{display:none}}
@media (min-width:1080px){.progreso{position:sticky;top:100px}}
.progreso li{counter-increment:pp;display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;font-weight:600;color:var(--pizarra)}
.progreso li::before{content:counter(pp);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--linea);background:var(--blanco);font:600 .95rem var(--f-titular);color:var(--marino)}
.progreso li[aria-current=step]{background:var(--blanco);color:var(--marino);box-shadow:var(--sombra)}
.progreso li[aria-current=step]::before{background:linear-gradient(120deg,#6D4AFF,#2563EB);border-color:transparent;color:#fff}
.progreso li.hecho::before{background:#E9F8FA;border-color:#9ADBE5;color:#0E7490}
.progreso small{display:block;font-weight:400;font-size:.82rem}
@media (max-width:1079px){.progreso li{flex-direction:column;gap:6px;font-size:.78rem;text-align:center;padding:8px 4px}}
.paso-form{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-g);padding:26px;box-shadow:var(--sombra)}
@media (min-width:960px){.paso-form{padding:40px}}
.paso-form+.paso-form{margin-top:20px}
.paso-form__titulo{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.paso-form__titulo span{font:600 .9rem var(--f-texto);color:var(--azul-hondo)}
.paso-form__intro{color:var(--pizarra);margin-bottom:26px}
.paso-form__nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px;flex-wrap:wrap}
.con-pasos .paso-form{display:none}
.con-pasos .paso-form.activo{display:block}
.con-pasos .paso-form+.paso-form{margin-top:0}
.paso-form__nav[hidden],.sin-js-oculto[hidden]{display:none}
.resumen-cubo{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px;min-height:34px}
.resumen-cubo span{padding:6px 12px;border-radius:999px;background:#F1EEFF;color:var(--azul-hondo);font:500 .85rem var(--f-texto)}

/* Gracias */
.gracias{max-width:860px}
.gracias .pasos{margin-top:24px}

/* ---------- Contenido legal ---------- */
.legal{max-width:76ch}
.legal h2{font-size:1.5rem;margin-top:2em}
.legal h3{font-size:1.15rem;margin-top:1.6em}
.legal p,.legal li{color:var(--marino)}
.legal table{width:100%;border-collapse:collapse;margin:0 0 1.5em;font-size:.95rem}
.legal th,.legal td{border:1px solid var(--linea);padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:var(--fondo-2)}
.pendiente{background:#FFF3EB;color:#9A3412;padding:0 4px;border-radius:4px;font-size:.9em;font-weight:600}

/* ---------- 404 ---------- */
.error-pag{padding:80px 0}
.error-pag__codigo{display:flex;gap:4px;font:700 clamp(4.5rem,3rem + 7vw,9rem)/1 var(--f-titular);letter-spacing:-.06em;margin-bottom:12px}
.error-pag__codigo span{background:linear-gradient(120deg,#6D4AFF,#2563EB 50%,#0E7490);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Pie ---------- */
.pie{position:relative;background:var(--noche);color:#B9B4E8;padding:72px 0 32px}
.pie::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#6D4AFF,#22D3EE,#DB2777,transparent)}
.pie a{color:#E4E1FA;text-decoration:none}
.pie a:hover{color:#fff;text-decoration:underline}
.pie__rejilla{display:grid;gap:40px}
@media (min-width:720px){.pie__rejilla{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.pie__rejilla{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.pie__marca img{height:32px;width:auto;margin-bottom:20px}
.pie__marca p{max-width:34ch}
.pie h2{font:600 .95rem var(--f-titular);color:#fff;margin-bottom:16px;letter-spacing:0}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pie__contacto li{display:flex;gap:10px;align-items:center}
.pie__contacto .icono{width:18px;height:18px;color:#A78BFA}
.pie__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem}
.pie__legal ul{display:flex;flex-wrap:wrap;gap:20px}

/* ---------- Banner de cookies (solo con analítica activa) ---------- */
.banner-cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:560px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-g);box-shadow:var(--sombra-alta);padding:22px}
.banner-cookies[hidden]{display:none}
.banner-cookies p{font-size:.95rem;color:var(--pizarra)}
.banner-cookies .acciones{margin-top:12px}

/* ---------- Enlaces y movimiento ---------- */
a:not(.boton):not(.tarjeta--enlace):not(.enlace-flecha){text-decoration-thickness:1px;transition:text-decoration-color .2s}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Utilidades ---------- */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-hueco{margin-top:var(--hueco)}.mt-l{margin-top:36px}
.h3{font-size:clamp(1.15rem,1.08rem + .35vw,1.38rem);font-weight:600;letter-spacing:-.015em}
.centro{text-align:center}
.dos-bloques{display:grid;gap:40px;align-items:start}
@media (min-width:960px){.dos-bloques{grid-template-columns:1fr 1fr;gap:72px}}
.pila{display:grid;gap:var(--hueco)}
ul.pila{list-style:none;margin-left:0;padding:0}
.lista-datos{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lista-datos li{display:flex;gap:10px;align-items:center}
.lista-datos .icono{width:18px;height:18px;color:#A78BFA}
.tarjeta__texto{display:flex;flex-direction:column;height:100%}
.tarjeta--fila{display:grid;gap:28px;align-items:center}
@media (min-width:960px){.tarjeta--fila{grid-template-columns:1fr 1.1fr;gap:48px}}
