/* asoconsultoria.es · hoja única. Paleta y tipos del kit de marca (marca/KIT.md). */
@font-face{font-family:"Jakarta";src:url(/assets/fonts/jakarta.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --tinta:#0E1B33;--tinta-2:#2A3850;--gris:#5B6779;--gris-2:#8A95A6;--linea:#E2E8F1;--fondo:#F6F8FB;--blanco:#fff;
  --azul:#1D5FB0;--azul-claro:#2B78CF;--azul-hondo:#123C7C;--hielo:#EAF2FC;--naranja:#EB690E;--naranja-hondo:#C9560A;
  --verde:#12915F;--verde-fondo:#E6F5EE;--ambar:#B7791F;--ambar-fondo:#FDF3E1;--rojo:#C93A3A;--rojo-fondo:#FBEAEA;
  --r:18px;--r-s:12px;--sombra:0 1px 2px rgba(14,27,51,.06),0 8px 24px -8px rgba(14,27,51,.12);
  --sombra-l:0 2px 4px rgba(14,27,51,.05),0 24px 60px -20px rgba(14,27,51,.28);
  --ancho:1180px;--texto:720px;--t:"Jakarta",system-ui,sans-serif;--c:"Inter",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--blanco);color:var(--tinta);font:400 17px/1.65 var(--c);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--azul);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--azul-hondo)}
h1,h2,h3,h4{font-family:var(--t);letter-spacing:-.025em;line-height:1.12;margin:0 0 .5em;color:var(--tinta);text-wrap:balance}
h1{font-size:clamp(2.1rem,1.3rem + 3.4vw,3.7rem);font-weight:800}
h2{font-size:clamp(1.6rem,1.15rem + 1.8vw,2.45rem);font-weight:750}
h3{font-size:1.22rem;font-weight:700;letter-spacing:-.015em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;border-radius:6px}
.envoltura{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 24px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:8px;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:10px;z-index:99}
.saltar:focus{left:8px}

/* ---------- cabecera ---------- */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.cab.con-borde{border-color:var(--linea)}
.cab .envoltura{display:flex;align-items:center;gap:20px;height:72px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta);flex:none}
.marca svg{width:36px;height:36px}
.marca span{font:500 1.28rem/1 var(--t);letter-spacing:-.03em;color:var(--azul)}
.marca b{font-weight:800;color:var(--tinta)}
.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.menu a,.menu button{font:600 .95rem/1 var(--c);color:var(--tinta-2);text-decoration:none;padding:10px 12px;border-radius:10px;background:none;border:0;cursor:pointer}
.menu a:hover,.menu button:hover,.menu a[aria-current]{color:var(--tinta);background:var(--fondo)}
.desplegable{position:relative}
.desplegable>button::after{content:"";display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);margin-left:8px}
.panel-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(640px,92vw);background:#fff;border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra-l);padding:12px;display:none;grid-template-columns:1fr 1fr;gap:2px}
.desplegable:hover .panel-menu,.desplegable:focus-within .panel-menu,.desplegable.abierto .panel-menu{display:grid}
.panel-menu a{display:block;padding:11px 12px;line-height:1.3}
.panel-menu a small{display:block;color:var(--gris);font-weight:400;font-size:.82rem;margin-top:3px}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:700 .98rem/1 var(--c);text-decoration:none;border-radius:999px;padding:15px 24px;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.boton:active{transform:translateY(1px)}
.boton-naranja{background:var(--naranja);color:#fff;box-shadow:0 6px 18px -6px rgba(235,105,14,.6)}
.boton-naranja:hover{background:var(--naranja-hondo);color:#fff}
.boton-tinta{background:var(--tinta);color:#fff}.boton-tinta:hover{background:var(--azul-hondo);color:#fff}
.boton-linea{background:#fff;color:var(--tinta);box-shadow:inset 0 0 0 1.5px var(--linea)}.boton-linea:hover{box-shadow:inset 0 0 0 1.5px var(--tinta);color:var(--tinta)}
.boton-blanco{background:#fff;color:var(--tinta)}.boton-blanco:hover{background:var(--hielo);color:var(--tinta)}
.cab .boton{padding:12px 18px;font-size:.92rem}
.hamburguesa{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--linea);background:#fff;cursor:pointer;align-items:center;justify-content:center}
.hamburguesa span,.hamburguesa span::before,.hamburguesa span::after{display:block;width:18px;height:2px;background:var(--tinta);border-radius:2px;position:relative;transition:.2s}
.hamburguesa span::before,.hamburguesa span::after{content:"";position:absolute;left:0}
.hamburguesa span::before{top:-6px}.hamburguesa span::after{top:6px}
.menu-abierto .hamburguesa span{background:transparent}
.menu-abierto .hamburguesa span::before{top:0;transform:rotate(45deg)}
.menu-abierto .hamburguesa span::after{top:0;transform:rotate(-45deg)}
@media (max-width:980px){
  .hamburguesa{display:inline-flex}
  .cab .boton.solo-escritorio{display:none}
  .menu{position:fixed;inset:72px 0 0 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 16px 40px;overflow:auto;display:none;margin:0}
  .menu-abierto .menu{display:flex}
  .menu>a,.menu>.desplegable>button{font-size:1.08rem;padding:16px 8px;border-bottom:1px solid var(--linea);border-radius:0;text-align:left;width:100%}
  .panel-menu{position:static;transform:none;width:auto;box-shadow:none;border:0;padding:4px 0 10px;grid-template-columns:1fr;display:none}
  .desplegable:hover .panel-menu{display:none}.desplegable.abierto .panel-menu,.desplegable:focus-within .panel-menu{display:grid}
  .menu .boton{margin-top:18px;padding:16px}
}

/* ---------- bloques comunes ---------- */
.seccion{padding:clamp(64px,8vw,112px) 0}
.seccion-gris{background:var(--fondo)}
.seccion-oscura{background:radial-gradient(900px 500px at 90% -10%,rgba(43,120,207,.55),transparent 60%),linear-gradient(165deg,var(--azul-hondo),var(--tinta) 70%);color:#fff}
.seccion-oscura h2,.seccion-oscura h3{color:#fff}
.seccion-oscura p{color:#C9DAF0}
.antetitulo{display:inline-flex;align-items:center;gap:10px;font:700 .78rem/1 var(--c);letter-spacing:.14em;text-transform:uppercase;color:var(--azul);margin-bottom:18px}
.antetitulo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--naranja);box-shadow:0 0 0 4px rgba(235,105,14,.15)}
.seccion-oscura .antetitulo{color:#9CC3F0}
.cabeza{max-width:760px;margin-bottom:48px}
.cabeza p{font-size:1.12rem;color:var(--gris)}
.centrada{text-align:center;margin-left:auto;margin-right:auto}
.rejilla{display:grid;gap:20px}
.r2{grid-template-columns:repeat(2,minmax(0,1fr))}.r3{grid-template-columns:repeat(3,minmax(0,1fr))}.r4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.r3,.r4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.r2,.r3,.r4{grid-template-columns:1fr}}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:28px;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
a.tarjeta{text-decoration:none;color:inherit;display:block}
a.tarjeta:hover{transform:translateY(-3px);box-shadow:var(--sombra-l);border-color:transparent}
.tarjeta h3{margin-bottom:.4em}
.tarjeta p{color:var(--gris);font-size:.98rem;margin:0}
.tarjeta .flecha{margin-top:18px;font:700 .9rem var(--c);color:var(--azul)}
.icono-caja{width:48px;height:48px;border-radius:14px;background:var(--hielo);color:var(--azul);display:grid;place-items:center;margin-bottom:20px}
.icono-caja svg{width:24px;height:24px}
.etiqueta{display:inline-block;font:700 .72rem/1 var(--c);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:var(--hielo);color:var(--azul)}
.etiqueta.naranja{background:#FDEBDD;color:var(--naranja-hondo)}

/* ---------- portada ---------- */
.heroe{position:relative;padding:clamp(40px,6vw,84px) 0 clamp(56px,7vw,96px);overflow:hidden}
.heroe::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 82% 10%,var(--hielo),transparent 70%),radial-gradient(500px 300px at 5% 90%,#FFF3EA,transparent 70%);z-index:-1}
.heroe .envoltura{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;align-items:center}
.heroe h1 em{font-style:normal;color:var(--azul);position:relative;white-space:nowrap}
.heroe h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.16em;background:var(--naranja);opacity:.85;border-radius:4px;z-index:-1}
.heroe .lead{font-size:clamp(1.05rem,1rem + .4vw,1.24rem);color:var(--gris);max-width:560px;margin:22px 0 30px}
.buscador{display:flex;gap:8px;background:#fff;border:1.5px solid var(--linea);border-radius:999px;padding:7px;box-shadow:var(--sombra-l);max-width:600px}
.buscador:focus-within{border-color:var(--azul)}
.buscador input{flex:1;min-width:0;border:0;outline:0;font:500 1rem var(--c);padding:0 16px;background:transparent;color:var(--tinta)}
.buscador input::placeholder{color:var(--gris-2)}
.ayuda{font-size:.88rem;color:var(--gris);margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 18px}
.ayuda span::before{content:"✓";color:var(--verde);font-weight:800;margin-right:6px}
@media (max-width:980px){.heroe .envoltura{grid-template-columns:1fr;gap:44px}.escena{max-width:480px;margin:0 auto}}
@media (max-width:520px){.buscador{flex-direction:column;border-radius:22px;padding:8px}.buscador input{padding:14px 12px}.buscador .boton{width:100%}}

/* escena del móvil (portada) */
.escena{position:relative;aspect-ratio:1/1.02}
.movil{position:absolute;left:14%;top:2%;width:62%;aspect-ratio:9/18.6;background:var(--tinta);border-radius:42px;padding:10px;box-shadow:var(--sombra-l),0 40px 80px -30px rgba(18,60,124,.5)}
.pantalla{width:100%;height:100%;background:#fff;border-radius:33px;overflow:hidden;padding:42px 14px 14px;position:relative}
.pantalla::before{content:"";position:absolute;top:12px;left:50%;transform:translateX(-50%);width:34%;height:20px;border-radius:20px;background:var(--tinta)}
.busqueda-falsa{display:flex;align-items:center;gap:8px;background:var(--fondo);border-radius:12px;padding:9px 11px;font:500 .74rem var(--c);color:var(--gris)}
.busqueda-falsa svg{width:13px;height:13px;flex:none}
.res{display:flex;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--linea)}
.res .ico{width:38px;height:38px;border-radius:10px;flex:none;background:var(--linea)}
.res .lin{flex:1;display:grid;gap:5px}
.res .lin i{display:block;height:7px;border-radius:6px;background:var(--linea)}
.res .lin i:last-child{width:60%;background:#EEF2F7}
.res .obt{font:800 .62rem var(--c);color:var(--azul);background:var(--hielo);border-radius:999px;padding:6px 10px}
.res.top{background:linear-gradient(90deg,var(--hielo),#fff);border-radius:12px;border:0;margin:8px 0 4px;padding:11px 8px}
.res.top .ico{background:linear-gradient(135deg,var(--azul-claro),var(--azul-hondo))}
.res.top .lin i{background:#C9DCF3}
.res.top .obt{background:var(--azul);color:#fff}
.chip{position:absolute;background:#fff;border-radius:16px;box-shadow:var(--sombra-l);padding:12px 14px;font:600 .8rem/1.25 var(--c);display:flex;align-items:center;gap:10px;color:var(--tinta)}
.chip small{display:block;color:var(--gris);font-weight:500;font-size:.72rem}
.chip .num{font:800 1.3rem/1 var(--t);color:var(--azul)}
.chip.c1{right:0;top:16%}.chip.c2{left:0;bottom:22%}.chip.c3{right:4%;bottom:6%}
.chip .punto{width:10px;height:10px;border-radius:50%;background:var(--naranja);box-shadow:0 0 0 5px rgba(235,105,14,.15)}
.anillo{--v:0;width:46px;height:46px;border-radius:50%;background:conic-gradient(var(--verde) calc(var(--v)*1%),var(--linea) 0);display:grid;place-items:center}
.anillo::before{content:attr(data-v);width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font:800 .8rem var(--t)}

/* tiras */
.franja-datos{border-block:1px solid var(--linea);background:#fff}
.franja-datos .envoltura{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.dato{padding:30px 22px;border-left:1px solid var(--linea)}
.dato:first-child{border-left:0}
.dato b{display:block;font:800 2rem/1 var(--t);letter-spacing:-.03em;color:var(--tinta)}
.dato span{display:block;color:var(--gris);font-size:.92rem;margin-top:8px;line-height:1.4}
@media (max-width:820px){.franja-datos .envoltura{grid-template-columns:1fr 1fr}.dato:nth-child(3){border-left:0}.dato{border-top:1px solid var(--linea)}.dato:nth-child(-n+2){border-top:0}}

/* método */
.pasos{counter-reset:p;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.paso{counter-increment:p;padding:28px;border-radius:var(--r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.paso::before{content:counter(p,decimal-leading-zero);font:800 .85rem var(--t);color:var(--naranja);letter-spacing:.06em;display:block;margin-bottom:22px}
.paso h3{font-size:1.15rem}
.paso p{font-size:.95rem;margin:0}
@media (max-width:900px){.pasos{grid-template-columns:1fr 1fr}}@media (max-width:560px){.pasos{grid-template-columns:1fr}}

/* agentes */
.agentes{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.consola{background:var(--tinta);border-radius:var(--r);padding:22px;color:#C9DAF0;font:500 .86rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:var(--sombra-l);overflow:hidden}
.consola .bar{display:flex;gap:6px;margin-bottom:16px}.consola .bar i{width:10px;height:10px;border-radius:50%;background:#33415C}
.consola .ok{color:#5FD3A2}.consola .av{color:#F6B27A}.consola .ag{color:#9CC3F0}
.lista-check{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}
.lista-check li{display:flex;gap:14px;align-items:flex-start}
.lista-check li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:7px;background:var(--hielo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D5FB0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
@media (max-width:900px){.agentes{grid-template-columns:1fr;gap:36px}}

/* precios */
.precios{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:22px;padding:32px}
.plan.destacado{border:2px solid var(--azul);box-shadow:var(--sombra-l);position:relative}
.plan.destacado::before{content:"El más pedido";position:absolute;top:-13px;left:28px;background:var(--azul);color:#fff;font:700 .74rem/1 var(--c);padding:8px 12px;border-radius:999px}
.plan .cifra{font:800 2.7rem/1 var(--t);letter-spacing:-.04em;margin:14px 0 4px}
.plan .cifra small{font:500 .95rem var(--c);color:var(--gris);letter-spacing:0}
.plan ul{margin:22px 0 28px;padding:0;list-style:none;display:grid;gap:10px;font-size:.95rem}
.plan li{padding-left:26px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border:solid var(--verde);border-width:0 0 2.5px 2.5px;transform:rotate(-45deg)}
.plan .boton{margin-top:auto}
.extras{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.extra{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px dashed #C9D3E1;border-radius:var(--r);padding:20px 24px;background:#fff}
.extra b{font:800 1.15rem var(--t);white-space:nowrap}
@media (max-width:980px){.precios,.extras{grid-template-columns:1fr}}

/* equipo */
.equipo{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.persona{margin:0}
.persona img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--r);background:var(--fondo);filter:grayscale(1) contrast(1.04)}
.persona figcaption{padding:12px 2px 0}
.persona b{display:block;font:700 1rem/1.25 var(--t)}
.persona span{display:block;color:var(--gris);font-size:.86rem;line-height:1.4;margin-top:3px}
@media (max-width:980px){.equipo{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.equipo{grid-template-columns:repeat(2,1fr)}}

/* faq */
.faq{max-width:840px;margin:0 auto;display:grid;gap:12px}
.faq details{background:#fff;border:1px solid var(--linea);border-radius:var(--r-s);padding:0 22px}
.faq summary{cursor:pointer;list-style:none;font:700 1.04rem/1.4 var(--t);padding:20px 34px 20px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:10px;height:10px;border:solid var(--azul);border-width:0 2.5px 2.5px 0;transform:translateY(-70%) rotate(45deg);transition:.2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{color:var(--gris);margin:0 0 20px}

/* llamada final */
.cta-final{border-radius:28px;padding:clamp(36px,6vw,72px);display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.cta-final .buscador{box-shadow:none;border-color:transparent}
@media (max-width:900px){.cta-final{grid-template-columns:1fr}}

/* ---------- páginas de contenido ---------- */
.miga{font-size:.86rem;color:var(--gris);padding:22px 0 0}
.miga ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.miga li+li::before{content:"/";margin-right:6px;color:var(--gris-2)}
.miga a{color:var(--gris);text-decoration:none}.miga a:hover{color:var(--azul)}
.cabecera-art{padding:28px 0 36px}
.cabecera-art .resumen{font-size:1.2rem;line-height:1.55;color:var(--tinta-2);max-width:780px;margin-top:18px}
.firma{display:flex;align-items:center;gap:12px;margin-top:26px;font-size:.9rem;color:var(--gris);flex-wrap:wrap}
.firma img{width:44px;height:44px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.firma b{color:var(--tinta);font-weight:650}
.firma .sep{width:4px;height:4px;border-radius:50%;background:var(--gris-2)}
.portada-art{border-radius:24px;overflow:hidden;aspect-ratio:1200/560;background:var(--hielo);margin-bottom:8px}
.portada-art img{width:100%;height:100%;object-fit:cover}
.diseno-art{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:start;padding:40px 0 80px}
.diseno-art.sin-lateral{grid-template-columns:minmax(0,1fr)}
.lateral{position:sticky;top:96px;display:grid;gap:18px}
.indice{border-left:2px solid var(--linea);padding-left:18px}
.indice b{display:block;font:700 .78rem var(--c);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:12px}
.indice ol{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:.9rem;line-height:1.35}
.indice a{color:var(--tinta-2);text-decoration:none}.indice a:hover,.indice a.activo{color:var(--azul)}
.caja-lateral{background:var(--fondo);border-radius:var(--r);padding:22px}
.caja-lateral p{font-size:.92rem;color:var(--gris);margin:.4em 0 16px}
.caja-lateral .boton{width:100%;padding:13px}
@media (max-width:1020px){.diseno-art{grid-template-columns:1fr;gap:0}.lateral{position:static;order:-1;margin-bottom:28px}.lateral .caja-lateral{display:none}
  .indice{border:1px solid var(--linea);border-radius:var(--r-s);padding:14px 18px}
  .indice details summary{cursor:pointer;font:700 .95rem var(--t)}.indice details[open] ol{margin-top:12px}}
.prosa{max-width:var(--texto);font-size:1.08rem;line-height:1.75;color:var(--tinta-2)}
.prosa>*:first-child{margin-top:0}
.prosa h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);margin:2.2em 0 .6em;color:var(--tinta)}
.prosa h3{margin:1.8em 0 .5em;color:var(--tinta)}
.prosa p,.prosa ul,.prosa ol{margin:0 0 1.15em}
.prosa ul,.prosa ol{padding-left:1.3em}
.prosa li{margin:.4em 0;padding-left:.2em}
.prosa li::marker{color:var(--azul);font-weight:700}
.prosa strong{color:var(--tinta);font-weight:650}
.prosa code{font:500 .88em ui-monospace,Menlo,monospace;background:var(--fondo);border:1px solid var(--linea);padding:.1em .4em;border-radius:6px;word-break:break-word}
.prosa blockquote{margin:1.8em 0;padding:20px 24px 20px 60px;border-radius:var(--r-s);background:var(--hielo);position:relative;font-size:1rem;line-height:1.65;color:var(--tinta-2)}
.prosa blockquote::before{content:"";position:absolute;left:20px;top:22px;width:24px;height:24px;border-radius:8px;background:var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center/16px no-repeat}
.prosa blockquote.error{background:var(--rojo-fondo)}
.prosa blockquote.error::before{background-color:var(--rojo);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}
.prosa blockquote.criterio{background:#FFF4EB}
.prosa blockquote.criterio::before{background-color:var(--naranja);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E")}
.prosa blockquote p:last-child{margin:0}
.tabla{overflow-x:auto;margin:1.6em 0;border:1px solid var(--linea);border-radius:var(--r-s);-webkit-overflow-scrolling:touch}
.prosa table{border-collapse:collapse;width:100%;font-size:.94rem;line-height:1.5;min-width:520px}
.prosa th{background:var(--fondo);text-align:left;font:700 .85rem var(--c);color:var(--tinta);padding:12px 14px;border-bottom:1px solid var(--linea)}
.prosa td{padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
.prosa tr:last-child td{border-bottom:0}
.prosa a{font-weight:550}
.bloque-faq{margin-top:3em}
.bloque-faq h2{margin-bottom:.8em}
.bloque-faq .faq{margin:0}
.fuentes{margin-top:2.6em;padding-top:1.6em;border-top:1px solid var(--linea);font-size:.88rem;color:var(--gris)}
.fuentes b{color:var(--tinta);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.fuentes ol{padding-left:1.2em;margin:10px 0 0}
.fuentes a{color:var(--gris);word-break:break-word}
.autor{display:flex;gap:18px;align-items:flex-start;margin-top:2.6em;padding:24px;border-radius:var(--r);background:var(--fondo)}
.autor img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;filter:grayscale(1)}
.autor p{margin:.3em 0 0;font-size:.94rem;color:var(--gris)}
.cta-art{margin-top:2.6em;border-radius:var(--r);padding:30px;color:#fff;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-art h3{color:#fff;margin:0 0 .3em}
.cta-art p{margin:0;color:#C9DAF0}
.relacionadas{padding:72px 0;background:var(--fondo)}
.tarjeta-art{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.tarjeta-art:hover{transform:translateY(-3px);box-shadow:var(--sombra-l)}
.tarjeta-art .im{aspect-ratio:16/9;background:var(--hielo);overflow:hidden}
.tarjeta-art .im img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tarjeta-art:hover .im img{transform:scale(1.03)}
.tarjeta-art .tx{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.tarjeta-art h3{font-size:1.08rem;margin:0;line-height:1.3}
.tarjeta-art p{font-size:.92rem;color:var(--gris);margin:0}
.tarjeta-art .meta{margin-top:auto;font-size:.8rem;color:var(--gris-2)}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.filtros button{font:600 .9rem var(--c);padding:10px 16px;border-radius:999px;border:1px solid var(--linea);background:#fff;color:var(--tinta-2);cursor:pointer}
.filtros button[aria-pressed=true]{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.cabecera-servicio{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding:36px 0 56px}
.cabecera-servicio .portada-art{aspect-ratio:1/1;margin:0}
@media (max-width:900px){.cabecera-servicio{grid-template-columns:1fr}.cabecera-servicio .portada-art{aspect-ratio:16/10}}

/* ---------- auditoría ---------- */
.auditor{max-width:980px;margin:0 auto}
.auditor .buscador{max-width:none}
.estado-carga{display:none;align-items:center;gap:14px;margin-top:28px;color:var(--gris)}
.estado-carga.ver{display:flex}
.rueda{width:22px;height:22px;border-radius:50%;border:3px solid var(--linea);border-top-color:var(--azul);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.informe{display:none;margin-top:40px}.informe.ver{display:block}
.ficha-app{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:24px;border:1px solid var(--linea);border-radius:22px;background:#fff;box-shadow:var(--sombra)}
.ficha-app img{width:84px;height:84px;border-radius:20px;border:1px solid var(--linea)}
.ficha-app h2{font-size:1.45rem;margin:0 0 4px}
.ficha-app p{margin:0;color:var(--gris);font-size:.92rem}
.nota{--v:0;--c:var(--verde);width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--v)*1%),var(--linea) 0);display:grid;place-items:center}
.nota div{width:90px;height:90px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;line-height:1}
.nota b{font:800 2rem var(--t);display:block}.nota small{font-size:.72rem;color:var(--gris)}
@media (max-width:640px){.ficha-app{grid-template-columns:auto 1fr}.ficha-app .nota{grid-column:1/-1;justify-self:center}}
.comprobaciones{display:grid;gap:12px;margin-top:24px}
.comp{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:20px 22px;border-radius:var(--r-s);border:1px solid var(--linea);background:#fff}
.comp .sem{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font:800 .9rem var(--c);color:#fff}
.comp.bien .sem{background:var(--verde)}.comp.mejorable .sem{background:var(--ambar)}.comp.mal .sem{background:var(--rojo)}.comp.info .sem{background:var(--gris-2)}
.comp h3{font-size:1.02rem;margin:3px 0 4px}
.comp p{margin:0;font-size:.94rem;color:var(--gris)}
.comp .valor{display:block;margin-top:8px;font:500 .86rem/1.5 ui-monospace,Menlo,monospace;background:var(--fondo);padding:8px 10px;border-radius:8px;color:var(--tinta-2);word-break:break-word}
.propuestas{margin-top:28px;padding:26px;border-radius:22px;background:var(--hielo)}
.propuestas ol{margin:12px 0 0;padding-left:1.2em;display:grid;gap:8px}
.propuestas li b{font-family:var(--t)}
.pedir-informe{margin-top:28px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;padding:32px;border-radius:22px;color:#fff}
.pedir-informe h3{color:#fff}.pedir-informe p{color:#C9DAF0;margin:0}
@media (max-width:820px){.pedir-informe{grid-template-columns:1fr}}

/* formularios */
.formulario{display:grid;gap:14px}
.formulario label{display:grid;gap:6px;font:600 .88rem var(--c);color:var(--tinta-2)}
.seccion-oscura .formulario label,.pedir-informe .formulario label{color:#C9DAF0}
.formulario input,.formulario textarea,.formulario select{font:400 1rem var(--c);padding:14px 16px;border-radius:12px;border:1.5px solid var(--linea);background:#fff;color:var(--tinta);width:100%}
.formulario input:focus,.formulario textarea:focus{border-color:var(--azul);outline:0}
.formulario textarea{min-height:130px;resize:vertical}
.formulario .casilla{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.86rem;line-height:1.45}
.formulario .casilla input{width:18px;height:18px;margin-top:2px;flex:none}
.aviso-form{font-size:.92rem;padding:12px 16px;border-radius:12px;display:none}
.aviso-form.ok{display:block;background:var(--verde-fondo);color:var(--verde)}
.aviso-form.ko{display:block;background:var(--rojo-fondo);color:var(--rojo)}
.trampa{position:absolute;left:-9999px}

/* noticias */
.lista-noticias{display:grid;gap:18px}
.noticia-fila{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center;padding:16px;border:1px solid var(--linea);border-radius:var(--r);text-decoration:none;color:inherit;background:#fff;transition:box-shadow .2s}
.noticia-fila:hover{box-shadow:var(--sombra-l)}
.noticia-fila img{border-radius:12px;aspect-ratio:1200/630;object-fit:cover;width:100%}
.noticia-fila h2{font-size:1.25rem;margin:.3em 0}
.noticia-fila p{margin:0;color:var(--gris);font-size:.95rem}
@media (max-width:640px){.noticia-fila{grid-template-columns:1fr}}

/* pie */
.pie{background:var(--tinta);color:#AEBBD0;padding:72px 0 32px;font-size:.92rem}
.pie a{color:#D6E2F2;text-decoration:none}.pie a:hover{color:#fff;text-decoration:underline}
.pie .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.pie h4{color:#fff;font:700 .8rem var(--c);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.pie ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.pie .marca span{color:#9CC3F0}.pie .marca b{color:#fff}
.pie .legal{margin-top:56px;padding-top:24px;border-top:1px solid #23314B;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
@media (max-width:900px){.pie .cols{grid-template-columns:1fr 1fr}.pie .cols>div:first-child{grid-column:1/-1}}
@media (max-width:480px){.pie .cols{grid-template-columns:1fr}}

/* cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:560px;margin-left:auto;background:#fff;border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra-l);padding:20px 22px;font-size:.9rem;display:none}
.cookies.ver{display:block}
.cookies p{margin:0 0 14px;color:var(--gris)}
.cookies .botones{display:flex;gap:10px;flex-wrap:wrap}
.cookies .boton{padding:11px 18px;font-size:.88rem}

/* aparición suave */
@media (prefers-reduced-motion:no-preference){.aparece{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.aparece.visto{opacity:1;transform:none}}
@media print{.cab,.pie,.lateral,.cta-art,.relacionadas,.cookies{display:none!important}}
.menu .solo-movil{display:none}
@media (max-width:980px){.menu .solo-movil{display:inline-flex}}
/* ajustes de la revisión visual (29-oct) */
.escena{width:100%}
.seccion-oscura .cabeza p{color:#C9DAF0}
.tarjeta-art .etiqueta{align-self:flex-start}
.plan .cifra small{display:block;margin-top:8px;letter-spacing:0}
.movil{top:0;width:58%;left:16%}
@media (max-width:980px){.escena{max-width:420px;aspect-ratio:1/1.12}}
@media (max-width:520px){
  .antetitulo{letter-spacing:.08em;font-size:.72rem;line-height:1.35}
  .escena{max-width:340px}
  .chip{padding:9px 11px;font-size:.72rem;gap:8px;border-radius:13px}
  .chip small{font-size:.66rem}
  .chip.c1{right:-4px;top:12%}.chip.c2{left:-6px;bottom:24%}.chip.c3{right:-2px;bottom:4%}
  .chip .num{font-size:1.05rem}
  .anillo{width:38px;height:38px}.anillo::before{width:30px;height:30px;font-size:.7rem}
  .dato{padding:24px 16px}.dato b{font-size:1.7rem}
}
.informe{scroll-margin-top:96px}
.prosa,.diseno-art>*{min-width:0}
@media (max-width:1020px){.diseno-art{grid-template-columns:minmax(0,1fr)}}
.prosa code{white-space:normal}
.prosa p,.prosa li,.prosa td{overflow-wrap:break-word}.prosa strong,.prosa a{overflow-wrap:anywhere}
.indice summary{list-style:none;cursor:pointer;font:700 .78rem/1.2 var(--c);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.indice summary::-webkit-details-marker{display:none}
.indice summary::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);transition:.2s}
.indice details[open] summary::after{transform:rotate(-135deg)}
.indice details:not([open]) summary{margin-bottom:0}
@media (min-width:1021px){.indice summary::after{display:none}.indice summary{pointer-events:none}}
@media (max-width:640px){.firma{gap:6px 10px;font-size:.84rem}.firma .sep{display:none}.firma>span:first-of-type{flex-basis:calc(100% - 60px)}
  .cabecera-servicio{padding-bottom:28px;gap:28px}.diseno-art{padding-top:12px}}
