/* Patrimonial Inmobiliaria — hoja de estilos del sitio.
   Web limpia sobre blanco, Montserrat, formas redondeadas (decisión del cliente, 2026-09-18).
   Colores de marca: naranja #FF5000 + negro, los del logo.
   Contraste: el naranja puro solo se usa como FONDO de botón (con texto oscuro, 6,4:1) y en
   titulares grandes (3,3:1, válido AA para texto grande). Para enlaces y texto pequeño se usa
   --accion-texto (5,6:1 sobre blanco). */
/* Montserrat alojada en el dominio (variable 400–700, subconjunto latino: español, €, guiones).
   La «Fallback» ajusta Arial a las métricas de Montserrat para que el texto no salte al cargar. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/montserrat-latin-var.woff2?v=06b16db7a9") format("woff2")}
@font-face{font-family:"Montserrat Fallback";src:local("Arial");size-adjust:112.8%;ascent-override:85.8%;descent-override:22.3%;line-gap-override:0%}
:root{
  --fondo:#fff; --fondo-alt:#F5F6F8; --tinta:#101828; --tinta-sec:#475467; --tinta-ter:#667085;
  /* --accion-claro: hover del botón. Se aclara (no se oscurece) para que el texto oscuro gane
     contraste: 6,4:1 frente a 4,4:1 del naranja oscuro. */
  --accion:#FF5000; --accion-claro:#FF6E2E; --accion-osc:#E64600; --accion-texto:#B93C08; --accion-suave:#FFF1EA;
  /* --linea-campo: contorno de campos de formulario, 3:1 sobre blanco (WCAG 1.4.11) */
  --linea:#E4E7EC; --linea-campo:#858E9E; --error:#B42318; --error-suave:#FEF3F2; --radio:16px; --radio-s:10px;
  /* Movimiento: una curva ease-out fuerte y tres duraciones. Pulsar 120 ms, cambiar de estado
     160 ms, entrar en pantalla 220 ms. La salida siempre más rápida que la entrada. */
  --ease-out:cubic-bezier(.23,1,.32,1); --t-pulsar:120ms; --t-estado:160ms; --t-entrar:220ms;
  --sans:"Montserrat","Montserrat Fallback",-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
/* Movimiento reducido: fuera desplazamientos y transformaciones; se mantienen los cambios de
   color y opacidad, que ayudan a entender el estado sin mover nada. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-property:color,background-color,border-color,opacity,outline-color!important}
  a.tarjeta:hover,a.tarjeta:active,a.tarjeta:hover:active,.btn:active,.btn-sec:active,.chips a:active,.cookies-acciones button:active,.barra-movil a:active,.menu-movil summary:active{transform:none!important}
  a.tarjeta:hover .tarjeta-cab img{transform:none!important}
}
body{background:var(--fondo);color:var(--tinta);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--tinta);outline-offset:3px;border-radius:4px}
footer a:focus-visible,.chips a[aria-current="page"]:focus-visible{outline-color:#fff}
footer a:focus-visible{outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.seccion{padding:clamp(3.2rem,7vw,5.5rem) 0}
.seccion.alt{background:var(--fondo-alt)}
.seccion.pegada{padding-top:0}
/* Antetítulo en minúsculas de frase: se lee como contexto, no como rótulo de plantilla */
.antetitulo{font-size:.88rem;font-weight:600;letter-spacing:.01em;color:var(--accion-texto);margin-bottom:.7rem;line-height:1.4}
h1,h2,h3{letter-spacing:-.015em}
h1 em,h2 em{font-style:normal;color:var(--accion)}
h2{font-weight:700;font-size:clamp(1.6rem,2.9vw,2.3rem);line-height:1.18;max-width:26ch}
.sub-seccion{color:var(--tinta-sec);max-width:64ch;margin-top:1rem}
.sub-seccion strong{color:var(--tinta);font-weight:600}
.btn,.btn-sec{display:inline-block;font-family:var(--sans);font-weight:600;font-size:.95rem;text-decoration:none;text-align:center;cursor:pointer;border-radius:999px;padding:.95rem 1.9rem;transition:background-color var(--t-estado) ease,color var(--t-estado) ease,border-color var(--t-estado) ease,transform var(--t-pulsar) var(--ease-out);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn{background:var(--accion);color:var(--tinta);border:2px solid var(--accion)}
.btn:hover{background:var(--accion-claro);border-color:var(--accion-claro)}
.btn-sec{background:var(--fondo);color:var(--tinta);border:2px solid var(--tinta)}
.btn-sec:hover{background:var(--tinta);color:#fff}
.enlace{color:var(--accion-texto);font-weight:600;text-decoration:none;font-size:.92rem;display:inline-block;padding-block:.3rem}
.enlace{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.28em;text-decoration-thickness:1px;transition:text-decoration-color var(--t-estado) ease}
.enlace:hover{text-decoration-color:currentColor}
.saltar{position:absolute;left:-9999px;top:0;background:var(--tinta);color:#fff;padding:.8rem 1.2rem;z-index:100}
.saltar:focus{left:0}

/* ---------- Cabecera ---------- */
.cabecera{border-bottom:1px solid var(--linea);background:var(--fondo);position:sticky;top:0;z-index:30}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.6rem}
.marca{display:inline-block;line-height:0}
.marca img{height:2.1rem;width:auto}
.menu{display:flex;align-items:center;gap:clamp(.8rem,1.1vw,1.3rem);list-style:none}
.menu > li{position:relative}
.menu > li > a{display:block;font-size:.9rem;font-weight:500;white-space:nowrap;color:var(--tinta);text-decoration:none;padding:1.6rem 0}
.menu > li > a:hover,.menu > li > a[aria-current="true"]{color:var(--accion-texto)}
.submenu{position:absolute;opacity:0;visibility:hidden;transform:translateY(-4px) scale(.98);transform-origin:top left;transition:opacity 120ms ease,transform 120ms var(--ease-out),visibility 0s linear 120ms;top:calc(100% - .6rem);left:-1rem;min-width:18rem;background:var(--fondo);border:1px solid var(--linea);border-radius:var(--radio);list-style:none;padding:.5rem}
.menu > li:nth-child(n+4) .submenu{left:auto;right:-1rem;transform-origin:top right}
.menu > li:hover .submenu,.menu > li:focus-within .submenu{opacity:1;visibility:visible;transform:none;transition:opacity var(--t-entrar) ease,transform var(--t-entrar) var(--ease-out),visibility 0s}
.submenu a{display:block;padding:.7rem .9rem;font-size:.92rem;font-weight:600;color:var(--tinta);text-decoration:none;border-radius:var(--radio-s)}
.submenu a{transition:background-color var(--t-estado) ease}
.submenu a:hover{background:var(--fondo-alt)}
.submenu a small{display:block;font-size:.78rem;font-weight:400;color:var(--tinta-ter)}
.nav-tel{font-size:.92rem;font-weight:600;color:var(--tinta);text-decoration:none;white-space:nowrap;border:1px solid var(--linea);border-radius:999px;padding:.55rem 1.1rem}
.nav-tel:hover{border-color:var(--tinta)}
.menu-movil{display:none}

/* ---------- Hero ---------- */
.hero{padding:clamp(2.8rem,7vh,5rem) 0 clamp(3rem,7vh,5rem)}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero h1{font-weight:700;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.12;max-width:20ch}
.hero-sub{max-width:58ch;color:var(--tinta-sec);font-size:clamp(1rem,1.3vw,1.12rem);margin-top:1.5rem}
.hero-sub strong{color:var(--tinta);font-weight:600}
.hero-acciones{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem}
.hero.interior{padding:clamp(2rem,4.5vh,3.2rem) 0 clamp(2rem,4.5vh,3rem)}
.hero.interior h1{font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:24ch}
.migas{font-size:.82rem;color:var(--tinta-ter);margin-bottom:1.4rem}
.migas a{color:var(--tinta-ter);text-decoration:none;display:inline-block;padding-block:.25rem}
.migas a:hover{color:var(--accion-texto)}
.migas span{margin:0 .45rem}
/* Hero de portada con foto a toda altura (estilo 9, 04/11/2026): la foto ocupa la mitad derecha
   hasta el borde de la ventana y se funde en blanco hacia el texto. La tarjeta flotante va sobre
   un fondo blanco casi opaco, así que su contraste no depende de la foto. */
.hero-foto{position:relative;overflow:hidden;padding:clamp(3.2rem,9vh,6rem) 0;min-height:clamp(30rem,72vh,40rem);display:flex;align-items:center}
.hero-imagen{position:absolute;top:0;right:0;bottom:0;width:53%;border-radius:32px 0 0 32px;overflow:hidden}
.hero-imagen img{width:100%;height:100%;object-fit:cover;object-position:58% 70%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%);mask-image:linear-gradient(90deg,transparent 0,#000 42%)}
.hero-imagen .ilustrativa{position:absolute;bottom:1rem;right:1rem;font-size:.7rem;font-weight:600;background:var(--fondo);color:var(--tinta);border-radius:999px;padding:.25rem .7rem}
.hero-capa{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.hero-tarjeta{justify-self:end;max-width:21rem;background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radio);padding:1.6rem 1.7rem 1.7rem;box-shadow:0 18px 40px -18px rgba(16,24,40,.35)}
.hero-tarjeta p{font-weight:700;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.3;border-left:3px solid var(--accion);padding-left:1rem}
.hero-tarjeta .btn-sec{margin-top:1.3rem;padding:.6rem 1.3rem;font-size:.88rem}
.hero-foto .hero-sub{max-width:50ch}
.hero-foto h1{font-size:clamp(2.1rem,3.7vw,3rem);max-width:none}

/* ---------- Franja de datos ---------- */
.datos{background:var(--fondo-alt)}
.datos-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.dato{padding:clamp(1.8rem,3.5vw,2.6rem) clamp(1.2rem,2.5vw,2.2rem);border-left:1px solid var(--linea)}
.dato:first-child{border-left:none;padding-left:0}
.dato .valor{font-weight:700;font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.05;letter-spacing:-.02em}
.dato .etiqueta{font-size:.92rem;font-weight:600;margin:.7rem 0 .3rem}
.dato .detalle{font-size:.86rem;color:var(--tinta-sec);line-height:1.5}

/* ---------- Áreas ---------- */
/* Cuatro mercados en columnas abiertas (sin caja): el corchete naranja del logo marca cada área */
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem);margin-top:2.6rem}
.area{display:flex;flex-direction:column;border-top:1px solid var(--tinta);padding-top:1.4rem}
.area h3{font-weight:700;font-size:clamp(1.2rem,1.7vw,1.4rem);margin:0 0 .6rem;display:flex;align-items:baseline;gap:.35rem}
.area h3::before{content:"[";color:var(--accion);font-weight:700}
.area h3::after{content:"]";font-weight:700}
.area p{color:var(--tinta-sec);font-size:.95rem;max-width:48ch}
.area-acciones{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:auto;padding-top:1.2rem}

/* ---------- Tarjetas ---------- */
.rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);margin-top:2.4rem}
.tarjeta{-webkit-tap-highlight-color:transparent;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;background:var(--fondo);display:flex;flex-direction:column;text-decoration:none;color:inherit}
a.tarjeta:hover{border-color:var(--tinta)}
a.tarjeta:active{transform:scale(.99)}
.tarjeta-cab{position:relative;background:var(--fondo-alt);aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:flex-end;padding:1.3rem 1.4rem;overflow:hidden}
.tarjeta-cab img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tarjeta-cab .sector-grande{font-weight:700;font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1.1;letter-spacing:-.02em;position:relative}
.tarjeta-cab .sector-grande::before{content:"[ ";color:var(--accion)}
.tarjeta-cab .sector-grande::after{content:" ]"}
.tarjeta-cab .prov{font-size:.85rem;font-weight:500;color:var(--tinta-sec);margin-top:.4rem;position:relative}
.tarjeta-cab .ref{position:absolute;top:1rem;left:1.1rem;font-size:.74rem;font-weight:600;color:var(--tinta-sec);background:var(--fondo);border-radius:999px;padding:.25rem .7rem}
.tarjeta-cab .ilustrativa{position:absolute;bottom:.8rem;right:.8rem;font-size:.7rem;font-weight:600;background:var(--fondo);color:var(--tinta);border-radius:999px;padding:.25rem .7rem}
.tarjeta-cuerpo{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.tarjeta h3{font-weight:700;font-size:1.08rem;line-height:1.35}
.tarjeta .sector{font-size:.86rem;color:var(--tinta-sec);margin-top:.45rem}
.cifras{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--linea);margin-top:1.1rem;padding-top:1rem}
.cifras dt{font-size:.74rem;font-weight:500;color:var(--tinta-ter)}
.cifras dd{font-weight:700;font-size:1.02rem;margin-top:.1rem}
.candado{margin-top:auto;display:flex;align-items:center;gap:.55rem;font-size:.8rem;color:var(--tinta-sec);padding-top:1.1rem}
.candado svg{flex:none}
.tarjeta .enlace{margin-top:.9rem}
.vacio{border:1px dashed #C6CBD3;border-radius:var(--radio);padding:clamp(1.6rem,4vw,2.6rem);margin-top:2.4rem;color:var(--tinta-sec);max-width:72ch}
.vacio strong{color:var(--tinta)}
/* Menú definitivo (2026-10-27): países, activos bancarios, avisos de revisión */
.areas.tres{grid-template-columns:repeat(3,1fr)}
.areas.cinco{grid-template-columns:repeat(5,1fr)}
.rejilla.paises .tarjeta-cuerpo h3{font-size:1.25rem;margin:.2rem 0 .6rem}
.rejilla.paises .tarjeta-cuerpo p:not(.sector){color:var(--tinta-sec);font-size:.93rem;margin-bottom:1rem}
.rejilla.paises .enlace{margin-top:auto}
.aviso-bloque{border-left:4px solid var(--accion);background:var(--fondo-alt);border-radius:0 var(--radio-s) var(--radio-s) 0;padding:1.3rem 1.5rem;max-width:80ch}
.aviso-bloque h2{font-size:1.15rem;margin-bottom:.5rem;max-width:none}
.aviso-bloque p{color:var(--tinta-sec);font-size:.95rem}
.aviso-bloque a{color:var(--accion-texto);font-weight:600}
.que-compras{margin-top:2rem;background:var(--accion-suave);border-radius:var(--radio);padding:1.2rem 1.4rem;max-width:60ch}
.que-compras .antetitulo{margin-bottom:.4rem}
.que-compras p:not(.antetitulo){font-size:1rem;color:var(--tinta)}
.pendiente-revision{display:inline-block;margin-top:1.6rem;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:#7A2E0E;background:#FEF0C7;border:1px dashed #B54708;border-radius:var(--radio-s);padding:.5rem .8rem;max-width:80ch}
.banda-colabora{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.banda-colabora > div{max-width:62ch}
.menu-movil .menu-suelto{font-weight:600}

/* Filtros en píldora */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}
.chips a{font-size:.9rem;font-weight:500;text-decoration:none;color:var(--tinta);border:1px solid var(--tinta);border-radius:999px;padding:.5rem 1.05rem}
.chips a:hover{background:var(--fondo-alt)}
.chips a[aria-current="page"]{background:var(--tinta);color:#fff}
.chips a span{opacity:.6;margin-left:.4rem;font-size:.8rem}

/* Operaciones cerradas */
.cerradas{list-style:none;margin-top:2rem;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
.cerradas li{display:grid;grid-template-columns:5.5rem 1fr auto;gap:1rem;align-items:baseline;padding:1rem 1.3rem;border-bottom:1px solid var(--linea);font-size:.95rem;font-weight:500}
.cerradas li:last-child{border-bottom:none}
.cerradas .ref{font-size:.78rem;font-weight:600;color:var(--tinta-ter)}
.cerradas .prov{color:var(--tinta-sec);font-size:.86rem;font-weight:400}

/* ---------- Dos columnas / ficha ---------- */
.dos-col{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2.2rem,5vw,4rem);align-items:start}
.dos-col > *{min-width:0}
.dos-col p + p{margin-top:1rem}
.texto p{color:var(--tinta-sec)}
.texto p strong{color:var(--tinta)}
.tabla-datos{width:100%;border-collapse:collapse;margin-top:1.6rem}
.tabla-datos th,.tabla-datos td{text-align:left;padding:.9rem 0;border-bottom:1px solid var(--linea);font-size:.95rem;vertical-align:top}
.tabla-datos th{font-weight:500;color:var(--tinta-ter);width:42%;padding-right:1rem}
.tabla-datos td{font-weight:600}
.bloqueado{border-radius:var(--radio);background:var(--accion-suave);padding:1.4rem 1.5rem;margin-top:1.8rem}
.bloqueado h2{font-size:.98rem;font-weight:700;display:flex;gap:.6rem;align-items:center;max-width:none;line-height:1.4;letter-spacing:0}
.bloqueado ul{list-style:none;margin-top:.8rem;columns:2;column-gap:2rem;font-size:.9rem;color:var(--tinta-sec)}
.bloqueado li{padding:.25rem 0 .25rem 1.1rem;position:relative;break-inside:avoid}
.bloqueado li::before{content:"";position:absolute;left:0;top:.8em;width:.4rem;height:.4rem;border-radius:50%;background:var(--accion)}
.pegajoso{position:sticky;top:6rem}
.img-ficha{margin-top:1.8rem}
.img-ficha img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radio)}
.img-ficha figcaption{font-size:.76rem;color:var(--tinta-ter);padding-top:.5rem;text-align:right}

/* ---------- Pasos numerados ---------- */
/* Pasos como recorrido continuo: una línea los une y el número indica el orden real del proceso */
.pasos{counter-reset:paso;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,2rem);margin-top:2.6rem;list-style:none;position:relative}
.pasos::before{content:"";position:absolute;left:0;right:0;top:1rem;border-top:1px solid var(--linea)}
.pasos li{counter-increment:paso;position:relative;padding-right:.5rem}
.pasos li::before{content:counter(paso);position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--accion);color:var(--tinta);font-weight:700;font-size:.9rem;margin-bottom:1.1rem;box-shadow:0 0 0 6px var(--fondo)}
.seccion.alt .pasos li::before{box-shadow:0 0 0 6px var(--fondo-alt)}
.pasos h3{font-size:1rem;font-weight:700;margin-bottom:.4rem;letter-spacing:0}
.pasos p{font-size:.88rem;color:var(--tinta-sec);line-height:1.55}

/* Lista con cifra */
.lista-cifras{list-style:none;margin-top:1.5rem}
.lista-cifras li{display:flex;gap:1.2rem;align-items:baseline;padding:.9rem 0;border-bottom:1px solid var(--linea);font-size:.95rem;color:var(--tinta-sec)}
.lista-cifras li:last-child{border-bottom:none}
.lista-cifras li > span{min-width:0;overflow-wrap:break-word}
.lista-cifras b{font-weight:700;font-size:1.1rem;color:var(--tinta);flex:none;min-width:4.8rem}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-top:2rem;display:grid;gap:.7rem}
.faq details{background:var(--fondo);border:1px solid var(--linea);border-radius:var(--radio);padding:0 1.3rem}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-weight:600;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;font-weight:500;color:var(--accion-texto);flex:none;line-height:1;transition:transform var(--t-entrar) var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .respuesta{padding:0 0 1.3rem;color:var(--tinta-sec);max-width:64ch}
.faq .respuesta a{color:var(--accion-texto)}

/* ---------- Formularios ---------- */
form.lead{background:var(--fondo);border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(1.5rem,3vw,2.2rem)}
form.lead .titulo-form{font-weight:700;font-size:1.3rem;line-height:1.25;margin-bottom:.5rem;max-width:none;letter-spacing:-.015em}
form.lead .intro-form{font-size:.9rem;color:var(--tinta-sec);margin-bottom:1.3rem}
.campo{margin-bottom:1rem}
.campo label{display:block;font-size:.84rem;font-weight:600;color:var(--tinta);margin-bottom:.35rem}
.campo input,.campo select,.campo textarea{width:100%;min-height:2.9rem;background:var(--fondo);border:1px solid var(--linea-campo);border-radius:var(--radio-s);padding:.8rem .95rem;font-family:var(--sans);font-size:1rem;color:var(--tinta)}
.campo input,.campo select,.campo textarea{transition:border-color var(--t-estado) ease,box-shadow var(--t-estado) ease}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--tinta);box-shadow:0 0 0 3px rgba(16,24,40,.12);outline:none}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:none}
.campo textarea{min-height:7rem;resize:vertical}
.fila-doble{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fila-telefono{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem}
.consentimiento{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;color:var(--tinta-sec);margin:1.1rem 0}
.consentimiento{cursor:pointer}
.consentimiento input{margin-top:.1rem;accent-color:var(--accion-osc);flex:none;width:1.25rem;height:1.25rem;cursor:pointer}
.consentimiento a{color:var(--accion-texto)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.error-form{display:none;color:var(--error);background:var(--error-suave);border-radius:var(--radio-s);padding:.7rem .9rem;font-size:.88rem;margin-bottom:1rem;font-weight:500}
/* Error por campo: borde, icono de texto y mensaje debajo, enlazado con aria-describedby */
.campo input[aria-invalid="true"],.campo select[aria-invalid="true"],.campo textarea[aria-invalid="true"]{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
.error-campo{color:var(--error);font-size:.82rem;font-weight:500;margin-top:.35rem;line-height:1.4}
.error-campo::before{content:"! ";font-weight:700}
.consentimiento + .error-campo{margin:-.6rem 0 1rem 1.95rem}
form.lead .btn{width:100%}
.nota-form{font-size:.78rem;color:var(--tinta-ter);margin-top:1rem;line-height:1.5}

/* ---------- Firma de NDA ---------- */
.progreso-firma{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-bottom:1.8rem;font-size:.84rem;font-weight:600;color:var(--tinta-ter)}
.progreso-firma li{display:flex;align-items:center;gap:.5rem}
.progreso-firma span{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid var(--linea);font-size:.78rem}
.progreso-firma .hecho{color:var(--tinta)}
.progreso-firma .hecho span{background:var(--tinta);border-color:var(--tinta);color:#fff}
.progreso-firma .actual{color:var(--tinta)}
.progreso-firma .actual span{background:var(--accion);border-color:var(--accion);color:var(--tinta)}
.firma-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.visor-pdf{width:100%;height:min(78vh,900px);border:1px solid var(--linea);border-radius:var(--radio);background:var(--fondo-alt)}
.firma-panel{border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(1.4rem,3vw,2rem);position:sticky;top:6rem;background:var(--fondo)}
.firma-panel h2{font-size:1.3rem;margin-bottom:.6rem}
.firma-panel .btn{width:100%}
.firma-panel .btn:disabled{background:var(--fondo-alt);border-color:var(--linea);color:var(--tinta-ter);cursor:not-allowed}
.firma-panel .intro-form{font-size:.9rem;color:var(--tinta-sec)}
.firma-panel .intro-form strong{color:var(--tinta)}
.firma-estado{font-size:.9rem;font-weight:500;color:var(--tinta);margin-top:1rem;min-height:1.4em}
.firma-ayuda{margin-top:1.4rem;border-top:1px solid var(--linea);padding-top:1rem;font-size:.86rem;color:var(--tinta-sec)}
.firma-ayuda summary{cursor:pointer;font-weight:600;color:var(--tinta)}
.firma-ayuda p{margin-top:.7rem}
.firma-ayuda a{color:var(--accion-texto)}
.tabla-scroll{overflow-x:auto}
.tabla-admin{width:100%;border-collapse:collapse;font-size:.9rem;min-width:760px}
.tabla-admin th,.tabla-admin td{text-align:left;padding:.8rem .7rem;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla-admin th{font-size:.78rem;font-weight:600;color:var(--tinta-ter)}
.tabla-admin small{color:var(--tinta-ter)}
.estado{display:inline-block;font-size:.74rem;font-weight:700;border-radius:999px;padding:.2rem .7rem;background:var(--fondo-alt);color:var(--tinta);letter-spacing:0;text-transform:none}
.estado-firmado{background:var(--accion-suave);color:var(--accion-texto)}
.estado-aprobado{background:#ECFDF3;color:#067647}
.estado-rechazado{background:#FEF3F2;color:#B42318}
td.bien{color:#067647}
td.ojo,.ojo{color:#B54708}
.evidencias{list-style:none;margin-top:.7rem;font-size:.82rem;color:var(--tinta-sec)}
.evidencias li{padding:.55rem 0;border-bottom:1px solid var(--linea)}
.evidencias time,.evidencias small{display:block;font-size:.74rem;color:var(--tinta-ter)}

/* ---------- Blog ---------- */
.articulos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);margin-top:2.2rem}
.articulo-t{border:1px solid var(--linea);border-radius:var(--radio);padding:1.5rem;display:flex;flex-direction:column;background:var(--fondo);transition:border-color var(--t-estado) ease}
.articulo-t:hover{border-color:var(--tinta)}
.articulo-t .meta{font-size:.76rem;font-weight:600;color:var(--accion-texto)}
.articulo-t h3{font-weight:700;font-size:1.1rem;line-height:1.35;margin:.6rem 0}
.articulo-t h3 a{color:inherit;text-decoration:none}
.articulo-t h3 a:hover{color:var(--accion-texto)}
.articulo-t p{font-size:.9rem;color:var(--tinta-sec);line-height:1.55}
.prosa{max-width:72ch}
.prosa h2{font-size:clamp(1.35rem,2.2vw,1.65rem);margin:2.2rem 0 .8rem;max-width:none}
.prosa h3{font-weight:700;font-size:1.15rem;margin:1.7rem 0 .5rem}
.prosa h4{font-size:1rem;margin:1.4rem 0 .5rem}
.prosa p{margin-bottom:1.05rem;color:#344054}
.prosa ul,.prosa ol{margin:0 0 1.2rem 1.3rem;color:#344054}
.prosa li{margin-bottom:.45rem}
.prosa a{color:var(--accion-texto)}
.prosa blockquote{background:var(--fondo-alt);border-radius:var(--radio);padding:1.2rem 1.4rem;margin:1.6rem 0;font-weight:500;font-size:1.08rem}
.prosa table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.9rem;display:block;overflow-x:auto}
.prosa th,.prosa td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--linea)}
.prosa th{font-weight:600;background:var(--fondo-alt)}
.prosa .fecha{font-size:.84rem;color:var(--tinta-ter);margin-bottom:1.8rem}
.cta-articulo{border-radius:var(--radio);background:var(--fondo-alt);padding:clamp(1.5rem,3vw,2.2rem);margin-top:3rem;max-width:72ch}
.cta-articulo h2{font-size:1.4rem;max-width:none}
.cta-articulo p{color:var(--tinta-sec);margin:.7rem 0 1.3rem;font-size:.95rem}

/* ---------- Destacado con imagen ---------- */
.destacado{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;background:var(--fondo);margin-top:2.4rem}
.destacado + .rejilla{margin-top:clamp(1rem,2vw,1.5rem)}
.destacado-etq{font-size:.88rem;font-weight:600;color:var(--accion-texto);margin-bottom:.6rem}
.ver-todo{display:flex;flex-wrap:wrap;gap:.4rem 1.8rem;margin-top:2rem}
.destacado img{width:100%;height:100%;min-height:340px;object-fit:cover}
.destacado-cuerpo{padding:clamp(1.6rem,3.5vw,2.8rem);display:flex;flex-direction:column;justify-content:center}
.destacado-cuerpo h3{font-weight:700;font-size:clamp(1.4rem,2.3vw,1.9rem);line-height:1.2;margin:0 0 .7rem}
.destacado-cuerpo p{color:var(--tinta-sec);font-size:.95rem}
.destacado-cuerpo .btn{margin-top:1.4rem;align-self:flex-start}
.pie-foto{font-size:.76rem!important;color:var(--tinta-ter)!important;padding-top:.6rem}

/* ---------- Pie ---------- */
footer{background:var(--tinta);color:#98A2B3;padding:clamp(2.8rem,6vw,4.2rem) 0 2rem;font-size:.88rem;line-height:1.7}
footer .marca img{height:2.2rem}
.pie-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:clamp(1.5rem,4vw,3rem)}
.pie-grid .pie-titulo{font-size:.92rem;font-weight:700;line-height:1.4;color:#fff;margin-bottom:.8rem;letter-spacing:0;max-width:none}
.pie-grid ul{list-style:none}
.pie-grid li{margin-bottom:.15rem}
.pie-grid li a{display:inline-block;padding-block:.2rem}
footer a{color:#D0D5DD;text-decoration:none}
footer a:hover{text-decoration:underline;color:#fff}
.pie-contacto{margin-top:1.3rem}
.pie-legal{border-top:1px solid #344054;margin-top:2.4rem;padding-top:1.6rem;font-size:.78rem;color:#98A2B3}
.pie-legal ul{list-style:none;margin-bottom:1.2rem}
.pie-legal li{padding-left:1rem;position:relative;margin-bottom:.35rem}
.pie-legal li::before{content:"·";position:absolute;left:.2rem;font-weight:700}
.pie-enlaces{display:flex;gap:1.5rem;flex-wrap:wrap}

/* ---------- Avisos de actividad (solo datos reales) ---------- */
.aviso{position:fixed;left:1.1rem;bottom:1.1rem;z-index:50;display:flex;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity 150ms ease,transform 150ms var(--ease-out),visibility 0s linear 150ms;align-items:flex-start;gap:.85rem;background:var(--fondo);color:var(--tinta);max-width:320px;padding:1rem 2.2rem 1rem 1rem;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:0 2px 8px rgba(16,24,40,.08)}
.aviso.visible{opacity:1;visibility:visible;transform:none;transition:opacity 300ms ease,transform 300ms var(--ease-out),visibility 0s}
.aviso .avatar{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--tinta);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}
.aviso p{font-size:.86rem;line-height:1.45}
.aviso p b{font-weight:700}
.aviso time{display:block;font-size:.72rem;font-weight:600;color:var(--tinta-ter);margin-top:.3rem}
.aviso .demo-tag{position:absolute;top:.35rem;left:.7rem;font-size:.6rem;font-weight:700;letter-spacing:.14em;color:var(--accion-texto)}
.aviso .cerrar{position:absolute;top:.2rem;right:.2rem;background:none;border:none;font-size:1.1rem;color:var(--tinta-ter);cursor:pointer;width:2.25rem;height:2.25rem;border-radius:50%}

/* ---------- Barra móvil ---------- */
.barra-movil{display:none}

/* ---------- Cookies ---------- */
.cookies-banner{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--fondo);border-top:1px solid var(--linea);box-shadow:0 -8px 24px rgba(16,24,40,.08)}
.cookies-caja{max-width:1200px;margin:0 auto;padding:1.2rem clamp(1.25rem,4vw,2.5rem)}
.cookies-texto{font-size:.86rem;color:var(--tinta-sec);max-width:85ch}
.cookies-texto a{color:var(--accion-texto)}
.cookies-config{margin:.9rem 0 0}
.cookies-config label{display:flex;gap:.55rem;align-items:flex-start;font-size:.86rem;color:var(--tinta-sec);margin-bottom:.4rem}
.cookies-config input{margin-top:.25rem;accent-color:var(--accion-osc)}
.cookies-config p{font-size:.76rem;color:var(--tinta-ter)}
.cookies-acciones{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
/* Las tres opciones con el mismo peso visual (criterio AEPD) */
.cookies-acciones button{background:var(--fondo);border:2px solid var(--tinta);color:var(--tinta);font-family:var(--sans);font-size:.88rem;font-weight:600;border-radius:999px;padding:.65rem 1.4rem;cursor:pointer}
.cookies-acciones button{transition:background-color var(--t-estado) ease,color var(--t-estado) ease,transform var(--t-pulsar) var(--ease-out)}
.cookies-acciones button:hover{background:var(--tinta);color:#fff}

.ref-solicitud{margin-top:1rem;font-size:.95rem;color:var(--tinta-sec)}
.ref-solicitud b{color:var(--tinta);letter-spacing:.04em}

/* ---------- Interacción y movimiento ---------- */
/* Pulsar: respuesta inmediata en cualquier dispositivo */
a.tarjeta{transition:border-color var(--t-estado) ease,transform var(--t-pulsar) var(--ease-out)}
.btn:active,.btn-sec:active,.cookies-acciones button:active,.barra-movil a:active{transform:scale(.97)}
.chips a:active{transform:scale(.96)}
/* Deshabilitado: visible y sin respuesta engañosa */
.btn:disabled,.btn-sec:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
/* Filtros */
.chips a{transition:background-color var(--t-estado) ease,color var(--t-estado) ease,border-color var(--t-estado) ease,transform var(--t-pulsar) var(--ease-out);-webkit-tap-highlight-color:transparent}
/* Hover con desplazamiento: solo con ratón, para que en táctil no se quede «pegado» */
@media (hover:hover) and (pointer:fine){
  a.tarjeta{transition:border-color var(--t-estado) ease,transform var(--t-entrar) var(--ease-out),box-shadow var(--t-entrar) ease}
  a.tarjeta:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(16,24,40,.06)}
  a.tarjeta:hover:active{transform:translateY(-1px) scale(.995);transition-duration:var(--t-pulsar)}
  .tarjeta-cab img{transition:transform 400ms var(--ease-out)}
  a.tarjeta:hover .tarjeta-cab img{transform:scale(1.03)}
  .chips a:not([aria-current="page"]):hover{border-color:var(--tinta);background:var(--fondo-alt)}
}
/* Paneles que se abren (menú móvil, preguntas frecuentes): entran sin saltar */
@keyframes entrar-panel{from{opacity:0;transform:translateY(-6px)}}
.menu-movil[open] nav{animation:entrar-panel var(--t-entrar) var(--ease-out)}
.menu-movil summary{transition:background-color var(--t-estado) ease,color var(--t-estado) ease,transform var(--t-pulsar) var(--ease-out);-webkit-tap-highlight-color:transparent}
.menu-movil summary:active{transform:scale(.97)}
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size var(--t-entrar) var(--ease-out),content-visibility var(--t-entrar) allow-discrete}
.faq details[open]::details-content{block-size:auto}
.faq{interpolate-size:allow-keywords}
.faq .respuesta{transition:opacity var(--t-entrar) ease}
@starting-style{.faq details[open] .respuesta{opacity:0}}
/* Formularios: el paso 2 entra desde el lado; los errores aparecen sin brusquedad */
.error-campo,.error-form{transition:opacity var(--t-estado) ease,transform var(--t-estado) var(--ease-out)}
@starting-style{.error-campo{opacity:0;transform:translateY(-3px)}}
/* Banner de cookies: sube desde abajo al aparecer */
.cookies-banner{transition:transform 260ms var(--ease-out),opacity 260ms ease}
@starting-style{.cookies-banner{transform:translateY(24px);opacity:0}}
.cookies-acciones button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

/* ---------- Responsive ---------- */
/* Siete entradas en el menú (2026-10-27): el teléfono se oculta antes y el menú móvil entra a 1.300 px */
@media (max-width:1460px){ .nav-tel{display:none} }
@media (max-width:1300px){ .areas.cinco{grid-template-columns:repeat(3,1fr)} }
@media (max-width:1300px){
  .menu,.nav-tel{display:none}
  .menu-movil{display:block;position:static}
  .menu-movil summary{list-style:none;cursor:pointer;font-size:.9rem;font-weight:600;border:2px solid var(--tinta);border-radius:999px;padding:.5rem 1.1rem}
  .menu-movil summary::-webkit-details-marker{display:none}
  .menu-movil[open] summary{background:var(--tinta);color:#fff}
  .menu-movil nav{position:absolute;left:0;right:0;top:100%;background:var(--fondo);border-bottom:1px solid var(--linea);padding:.6rem clamp(1.25rem,4vw,2.5rem) 1.6rem;max-height:calc(100vh - 8.2rem);max-height:calc(100dvh - 8.2rem);overflow-y:auto}
  .menu-movil .menu-grupo{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accion-texto);margin:1.2rem 0 .2rem}
  .menu-movil a{display:block;padding:.65rem 0;font-weight:500;color:var(--tinta);text-decoration:none;border-bottom:1px solid var(--linea)}
}
@media (max-width:940px){
  /* La foto pasa debajo del texto, sin fundido, con la tarjeta montada sobre su borde inferior */
  .hero-foto{flex-direction:column;align-items:stretch;min-height:0;padding-bottom:clamp(2rem,5vw,3rem)}
  .hero-foto .hero-capa{display:contents}
  .hero-texto{order:1;width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
  .hero-imagen{order:2;position:relative;width:auto;height:clamp(15rem,48vw,22rem);margin:2.4rem clamp(1.25rem,4vw,2.5rem) 0;border-radius:24px}
  .hero-imagen img{-webkit-mask-image:none;mask-image:none;object-position:55% 75%}
  .hero-imagen .ilustrativa{top:1rem;bottom:auto}
  .hero-tarjeta{order:3;max-width:26rem;margin:-3.2rem clamp(2.25rem,7vw,4rem) 0;position:relative}
  .datos-grid{grid-template-columns:1fr 1fr}
  .dato{border-left:none;border-top:1px solid var(--linea);padding-left:0}
  .dato:nth-child(-n+2){border-top:none}
  .dato:nth-child(even){border-left:1px solid var(--linea);padding-left:1.4rem}
  .dos-col,.destacado,.firma-grid{grid-template-columns:1fr}
  .firma-panel{position:static}
  .visor-pdf{height:60vh}
  .rejilla,.articulos{grid-template-columns:1fr 1fr}
  .pasos{grid-template-columns:1fr 1fr;row-gap:2.2rem}
  .pasos::before{display:none}
  .areas,.areas.tres,.areas.cinco{grid-template-columns:1fr 1fr;row-gap:2.4rem}
  .pie-grid{grid-template-columns:1fr 1fr}
  .pegajoso{position:static}
}
@media (max-width:740px){
  .barra-movil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--fondo);border-top:1px solid var(--linea);gap:.6rem;padding:.6rem .8rem}
  .barra-movil a{flex:1;text-align:center;padding:.8rem .5rem;font-size:.92rem;font-weight:600;text-decoration:none;color:var(--tinta);border:2px solid var(--tinta);border-radius:999px}
  .barra-movil a.principal{background:var(--accion);border-color:var(--accion)}
  body{padding-bottom:4.4rem}
  .aviso{bottom:5.2rem}
  .cookies-acciones button{flex:1 1 100%}
  .areas,.areas.tres,.areas.cinco{grid-template-columns:1fr}
  .hero-acciones .btn,.hero-acciones .btn-sec{flex:1 1 100%}
}
@media (max-width:600px){
  .rejilla,.articulos,.pasos,.pie-grid,.fila-doble{grid-template-columns:1fr}
  /* Cifras en 2×2: las oportunidades quedan más arriba */
  .dato{padding:1.3rem 0 1.3rem 1rem}
  .dato:nth-child(odd){padding-left:0}
  .dato .detalle{display:none}
  .dato .valor{font-size:1.9rem}
  /* Móvil: menos aire arriba y titular algo menor para que los botones queden en la primera pantalla */
  .hero-foto{padding-top:1.9rem}
  .hero-foto h1{font-size:1.9rem}
  .hero-foto .hero-sub{margin-top:1.1rem}
  .hero-foto .hero-acciones{margin-top:1.6rem}
  .hero-imagen{margin-top:2rem;height:13.5rem}
  .hero-tarjeta{margin-inline:1.9rem;padding:1.2rem 1.3rem 1.3rem}
  .marca img{height:1.75rem}
  .bloqueado ul{columns:1}
  .cerradas li{grid-template-columns:4.6rem 1fr}
  .cerradas .prov{grid-column:2}
  .fila-telefono{grid-template-columns:7rem 1fr}
}

@media (min-width:941px){.pasos.tres{grid-template-columns:repeat(3,1fr)}}
