
:root{
  --tinta:#1E1550; --tinta-2:#34206A; --senal:#D93B2B; --senal-2:#B82E20;
  --papel:#F5F3F8; --blanco:#FFFFFF; --texto:#1A1638; --gris:#5E5A74; --linea:#E3E0EC;
  --grad:linear-gradient(118deg,#241766 0%,#5B2477 48%,#D93B2B 100%);
  --grad-suave:linear-gradient(118deg,rgba(36,23,102,.92) 0%,rgba(91,36,119,.78) 55%,rgba(217,59,43,.70) 100%);
  --nota:#0F7B6C; --nota-fondo:#E4F4F1;
  --display:"Urbanist",ui-sans-serif,system-ui,sans-serif;
  --body:"Lato",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ancho:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--blanco);color:var(--texto);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
.contenedor{max-width:var(--ancho);margin:0 auto;padding-inline:24px}
@media (max-width:560px){.contenedor{padding-inline:16px}}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(36px,5.6vw,68px);font-weight:800}
h2{font-size:clamp(28px,3.6vw,44px);font-weight:700}
h3{font-size:22px;font-weight:700}
p{margin:0}
.antetitulo{font:600 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--senal)}
.texto{max-width:62ch;display:flex;flex-direction:column;gap:16px;color:var(--gris)}
.texto strong{color:var(--texto)}

/* Barra de revisión (no es parte de la web) */
.revision{position:relative;z-index:60;background:#111018;color:#EDEBF5;font:500 13px/1.3 var(--body)}
.revision .contenedor{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-block:9px}
.revision b{color:#fff}
.interruptor{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin-left:auto}
.interruptor input{appearance:none;width:34px;height:20px;border-radius:20px;background:#3a3848;position:relative;cursor:pointer;margin:0}
.interruptor input::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}
.interruptor input:checked{background:var(--nota)}
.interruptor input:checked::after{transform:translateX(14px)}
.interruptor input:focus-visible{outline:2px solid #fff;outline-offset:2px}
.voz{display:inline-flex;gap:6px;align-items:center}.voz select{font:500 13px var(--body);background:#26243a;color:#fff;border:1px solid #444;border-radius:6px;padding:3px 6px}

/* Cabecera */
.cabecera{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.cabecera .contenedor{display:flex;align-items:center;gap:24px;min-height:72px}
.logo img{height:44px;width:auto}
.menu{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.menu::-webkit-scrollbar{display:none}
.menu a{text-decoration:none;font-weight:600;font-size:15px;padding:9px 12px;border-radius:8px;white-space:nowrap;color:var(--gris)}
.menu a:hover{color:var(--texto);background:var(--papel)}
.menu a[aria-current="page"]{color:var(--tinta);background:var(--papel)}
.menu a.cta{background:var(--senal);color:#fff}
.menu a.cta:hover{background:var(--senal-2)}
@media (max-width:860px){.cabecera .contenedor{flex-direction:column;align-items:stretch;gap:6px;padding-block:10px}.menu{margin-left:0}.logo img{height:36px}}

/* Botones */
.botones{display:flex;flex-wrap:wrap;gap:12px}
.boton{display:inline-flex;align-items:center;gap:10px;font:700 16px/1 var(--body);padding:16px 26px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s}
.boton:hover{transform:translateY(-1px)}
.boton:focus-visible{outline:3px solid var(--senal);outline-offset:3px}
.boton.primario{background:var(--senal);color:#fff}
.boton.primario:hover{background:var(--senal-2)}
.boton.claro{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.55)}
.boton.claro:hover{background:rgba(255,255,255,.22)}
.boton.linea{border-color:var(--tinta);color:var(--tinta);background:transparent}
.boton.linea:hover{background:var(--tinta);color:#fff}

/* Notas de revisión (Pareto) */
.nota{display:none;background:var(--nota-fondo);color:#0B4F46;border-left:4px solid var(--nota);border-radius:8px;padding:12px 14px;font:500 14px/1.45 var(--body);max-width:70ch}
.nota b{color:#073B34}
.con-notas .nota{display:block}
.con-notas .anadido{outline:2px dashed var(--nota);outline-offset:6px;border-radius:14px;position:relative}
.etiqueta-anadido{display:none;position:absolute;top:-14px;left:12px;background:var(--nota);color:#fff;font:700 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;border-radius:6px;z-index:3}
.con-notas .anadido>.etiqueta-anadido{display:inline-block}
.sin-anadidos .anadido.quitable{display:none}

/* Páginas */



/* HERO con vídeo */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--tinta)}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,10,40,.55) 0%,rgba(15,10,40,.35) 40%,rgba(20,12,55,.80) 100%);z-index:1}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:var(--grad);z-index:2}
.hero .contenedor{position:relative;z-index:2;padding-block:96px 72px;display:flex;flex-direction:column;gap:26px}
.hero .antetitulo{color:#FFB8AD}
.hero h1{max-width:16ch;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero .bajada{font-size:clamp(17px,1.6vw,20px);max-width:56ch;color:rgba(255,255,255,.9)}
.sellos{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:14px;color:rgba(255,255,255,.88)}
.sellos div{display:flex;flex-direction:column;gap:2px}
.sellos b{font:700 17px/1.1 var(--display);color:#fff}
.ver-video{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:12px;font:600 15px/1 var(--body);color:#fff}
.ver-video span.circulo{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.7);display:grid;place-items:center;transition:background .2s}
.ver-video:hover span.circulo{background:var(--senal);border-color:var(--senal)}
.ver-video:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:30px}

/* Portada centrada en el vídeo */
.hero-video{align-items:center;text-align:center;min-height:min(78vh,760px);justify-content:center}
.hero-video h1{max-width:18ch;margin-inline:auto}
.hero-video .bajada{margin-inline:auto}
.hero-video .bajada b{color:#fff}
.play-grande{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:18px;padding:12px 30px 12px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.5);backdrop-filter:blur(6px);transition:background .2s,transform .2s}
.play-grande:hover{background:rgba(255,255,255,.24);transform:scale(1.03)}
.play-grande:focus-visible{outline:3px solid #fff;outline-offset:4px}
.play-grande .disco{width:78px;height:78px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;box-shadow:0 0 0 0 rgba(217,59,43,.55);animation:latido 2.4s infinite}
.play-grande .play-texto{display:flex;flex-direction:column;text-align:left;gap:4px}
.play-grande b{font:800 24px/1 var(--display)}
.play-grande small{font-size:14px;color:rgba(255,255,255,.8)}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(217,59,43,.55)}70%{box-shadow:0 0 0 22px rgba(217,59,43,0)}100%{box-shadow:0 0 0 0 rgba(217,59,43,0)}}
.enlace-claro{color:rgba(255,255,255,.85);font-weight:600;font-size:15px;text-underline-offset:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Foto de cliente con brillo de color (estilo Holaluz) */
.foto-brillo{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;max-width:100%}
.foto-brillo img{width:100%;height:100%;object-fit:cover}
.foto-brillo::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 100%,rgba(217,59,43,.85) 0%,rgba(217,59,43,.45) 18%,rgba(91,36,119,.25) 34%,transparent 52%)}

/* Banner con foto real a ancho completo y degradado (estilo Holaluz) */
.banner-foto{position:relative;color:#fff;overflow:hidden;background:var(--tinta)}
.banner-foto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner-foto::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,23,102,.96) 0%,rgba(91,36,119,.88) 38%,rgba(217,59,43,.55) 62%,transparent 85%);z-index:1}
.banner-foto .contenedor{position:relative;z-index:2;padding-block:88px}
.banner-foto>.etiqueta-anadido{top:14px;left:16px}
.banner-texto{max-width:620px;display:flex;flex-direction:column;gap:18px}
.banner-texto p{color:rgba(255,255,255,.9)}
@media (max-width:700px){.banner-foto::before{background:linear-gradient(180deg,rgba(36,23,102,.94),rgba(91,36,119,.9) 60%,rgba(217,59,43,.8))}}

/* Clientes y alerta */
.clientes{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.clientes li{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.clientes b{font:700 16px/1.2 var(--display);color:var(--texto)}
.clientes span{font-size:14px;color:var(--gris)}
.alerta{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:700;color:var(--texto);cursor:pointer}
.alerta input{width:18px;height:18px;accent-color:var(--senal)}

/* Buscador */
.buscador{background:#fff;color:var(--texto);border-radius:16px;padding:18px;max-width:660px;box-shadow:0 18px 50px rgba(10,6,40,.35);display:flex;flex-direction:column;gap:12px}
.buscador label{font:700 18px/1.25 var(--display)}
.buscador .fila{display:flex;gap:8px}
.buscador input{flex:1;min-width:0;font:500 16px var(--body);padding:15px 16px;border-radius:10px;border:1.5px solid var(--linea);background:var(--papel);color:var(--texto)}
.buscador input:focus{outline:none;border-color:var(--tinta);background:#fff}
.buscador small{color:var(--gris);font-size:13px}
@media (max-width:520px){.buscador .fila{flex-direction:column}}
.resultado{display:none;border-top:1px solid var(--linea);padding-top:12px;gap:10px;flex-direction:column}
.resultado.visible{display:flex}
.semaforo{display:flex;gap:6px;align-items:center;font-weight:600;font-size:14px}
.semaforo i{width:12px;height:12px;border-radius:50%;display:inline-block;background:#E0DDE8}
.semaforo i.on{background:#E5A01A;box-shadow:0 0 0 3px rgba(229,160,26,.25)}

/* Secciones generales */
.seccion{padding-block:96px}
.seccion.papel{background:var(--papel)}
@media (max-width:700px){.seccion{padding-block:64px}}
.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.dos-col{grid-template-columns:1fr;gap:36px}}
.cab-seccion{display:flex;flex-direction:column;gap:14px;margin-bottom:40px;max-width:760px}

/* Foto con marco degradado */
.foto-grad{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3;max-width:100%}
.foto-grad img{width:100%;height:100%;object-fit:cover}
.foto-grad::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 45%,rgba(217,59,43,.35) 100%)}
.foto-grad .pie{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font:600 14px/1.3 var(--body);text-shadow:0 1px 8px rgba(0,0,0,.4)}

/* Banda degradada */
.banda{background:url(red.svg) center/560px repeat,var(--grad);color:#fff;border-radius:28px;padding:clamp(36px,6vw,72px);display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden}
.banda::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;border:2px solid rgba(255,255,255,.18)}
.banda blockquote{margin:0;font:700 clamp(28px,3.8vw,48px)/1.1 var(--display);max-width:22ch;text-wrap:balance}
.banda p{color:rgba(255,255,255,.88);max-width:58ch}

/* Tarjetas de situación (claridad tipo Reclamador) */
.situaciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.situacion{background:#fff;border:1.5px solid var(--linea);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:border-color .15s,transform .15s}
.situacion:hover{border-color:var(--senal);transform:translateY(-2px)}
.situacion:focus-visible{outline:3px solid var(--senal);outline-offset:2px}
.situacion svg{width:30px;height:30px;color:var(--senal)}
.situacion b{font:700 17px/1.25 var(--display);color:var(--texto)}
.situacion span{font-size:14px;color:var(--gris)}

/* Lista de cláusulas */
.clausulas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px 28px;padding:0;margin:0;list-style:none}
.clausulas li{display:flex;gap:10px;align-items:baseline;padding-block:10px;border-bottom:1px solid var(--linea)}
.clausulas li::before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:var(--grad);transform:translateY(-1px)}

/* Sección oscura */
.oscura{background:var(--tinta);color:#fff}
.oscura .texto{color:rgba(255,255,255,.82)}
.oscura .texto strong{color:#fff}
.oscura .antetitulo{color:#FF9C8E}
.destacado{font:700 clamp(24px,2.8vw,34px)/1.2 var(--display);border-left:5px solid var(--senal);padding-left:22px;max-width:30ch}
.eleccion{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px}
.eleccion div{border:1.5px solid rgba(255,255,255,.3);border-radius:12px;padding:16px 18px;font:600 18px/1.3 var(--display)}
.eleccion div:last-child{background:var(--senal);border-color:var(--senal)}

/* Casos */
.casos{display:flex;flex-direction:column;gap:22px}
.caso{background:#fff;border-radius:20px;border:1px solid var(--linea);overflow:hidden;display:grid;grid-template-columns:300px 1fr}
@media (max-width:860px){.caso{grid-template-columns:1fr}}
.caso .lado{background:url(red.svg) center/420px repeat,var(--grad);color:#fff;padding:28px;display:flex;flex-direction:column;gap:14px}
.caso .lado .num{font:800 54px/1 var(--display);opacity:.9}
.caso .lado h3{font-size:22px}
.caso .cuerpo{padding:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 28px}
.caso .cuerpo div{display:flex;flex-direction:column;gap:6px}
.caso .cuerpo dt,.caso .cuerpo h4{font:700 12px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--senal);margin:0}
.caso .cuerpo p{font-size:15px;color:var(--gris)}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;grid-column:1/-1;background:var(--papel);border-radius:12px;padding:16px}
.cifras span{display:block;font-size:12px;color:var(--gris);text-transform:uppercase;letter-spacing:.08em}
.cifras b{font:700 22px/1.2 var(--display);color:var(--tinta);font-variant-numeric:tabular-nums}
.pendiente{color:var(--gris)!important;opacity:.7}

/* Proceso */
.proceso{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;counter-reset:paso}
.paso{background:#fff;border-radius:16px;padding:22px;border:1px solid var(--linea);display:flex;flex-direction:column;gap:10px}
.paso .n{width:38px;height:38px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font:800 17px/1 var(--display)}
.paso p{font-size:15px;color:var(--gris)}

/* Equipo */
.persona{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start;padding-block:36px;border-top:1px solid var(--linea)}
@media (max-width:760px){.persona{grid-template-columns:1fr;gap:18px}}
.retrato{width:220px;max-width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--grad);padding:5px}
.retrato img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.persona .cargo{color:var(--senal);font-weight:600;font-size:15px}
.cita-persona{font:600 21px/1.3 var(--display);color:var(--tinta);border-left:4px solid var(--senal);padding-left:16px;margin-top:6px}

/* Formulario */
.form{background:#fff;border-radius:20px;padding:28px;box-shadow:0 12px 40px rgba(30,21,80,.10);display:flex;flex-direction:column;gap:16px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-weight:600;font-size:15px}
.campo input,.campo select{font:500 16px var(--body);padding:14px;border-radius:10px;border:1.5px solid var(--linea);background:var(--papel);color:var(--texto)}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--tinta);background:#fff}
.form small{color:var(--gris);font-size:13px}

/* Pie */
.pie-web{background:url(red.svg) center/560px repeat,#140E38;color:rgba(255,255,255,.75);padding-block:48px;font-size:14px}
.pie-web .contenedor{display:flex;flex-wrap:wrap;gap:20px 48px;justify-content:space-between;align-items:center}
.pie-web img{height:38px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.cierre{background:url(red.svg) center/560px repeat,var(--grad);color:#fff}
.cierre .contenedor{padding-block:72px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.cierre h2{max-width:20ch}

/* Modal vídeo */
dialog{border:0;padding:0;background:transparent;width:min(1100px,94vw)}
dialog::backdrop{background:rgba(12,8,35,.88)}
dialog video{width:100%;border-radius:14px}
video::cue{font-family:"Lato",system-ui,sans-serif;font-size:clamp(15px,2.2vw,22px);font-weight:600;color:#fff;background:rgba(20,12,55,.78)}
dialog button{all:unset;cursor:pointer;color:#fff;font-weight:600;display:block;margin:0 0 10px auto}
dialog button:focus-visible{outline:2px solid #fff}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.admin-bar .cabecera{top:32px}@media (max-width:782px){.admin-bar .cabecera{top:46px}}
