:root{--fondo:#181018;--texto:#F5F3EE;--texto2:rgba(245,243,238,.65);--acento:#B794D6;--acento2:#6C3C84;--cristal:rgba(255,255,255,.05);--borde:rgba(255,255,255,.12);--barra:0px;--menu-alto:58px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:400 16px/1.6 Inter,system-ui,sans-serif;text-wrap:pretty;overflow-x:hidden;padding-bottom:var(--barra)}
h1,h2,h3{font-family:Figtree,Inter,sans-serif;font-weight:500;letter-spacing:-.04em;line-height:1.1;margin:0}
p{margin:0}
a{color:var(--acento);text-decoration:none}
a:hover{color:#D3BCE8}
img{display:block}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.etiqueta{font:500 12px/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--acento)}
.ico{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* fondo ambiental */
.ambiente{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(180deg,#181018,#2B1A35)}
.ambiente img{position:absolute;inset:-80px;width:calc(100% + 160px);height:calc(100% + 160px);object-fit:cover;filter:blur(60px);opacity:.35}
.ambiente::before,.ambiente::after{content:'';position:absolute;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(108,60,132,.08),transparent 70%)}
.ambiente::before{top:-20vw;left:-15vw}
.ambiente::after{bottom:-25vw;right:-15vw}
.grano{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* cristal */
.cristal{background:rgba(24,16,24,.85);border:1px solid var(--borde);border-radius:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .3s}
@supports((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.cristal{background:var(--cristal);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}}
a.cristal:hover,button.cristal:hover,.cristal.tocable:hover{border-color:var(--acento)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:500;transition:transform .2s,background .2s,border-color .2s}
.btn:active{transform:scale(.98)}
.btn-principal{background:var(--acento);color:var(--fondo)}
.btn-principal:hover{background:#C9AEE2;color:var(--fondo)}
.btn-secundario{background:rgba(183,148,214,.1);border-color:var(--acento);color:var(--acento)}
.btn-secundario:hover{background:rgba(183,148,214,.2);color:var(--acento)}

/* menú */
.menu{position:fixed;top:16px;left:16px;right:16px;z-index:70;display:flex;justify-content:center;pointer-events:none}
.menu-pildora{pointer-events:auto;display:flex;align-items:center;gap:8px;height:var(--menu-alto);padding:0 10px 0 20px;max-width:1120px;width:100%}
.menu-logo{display:flex;align-items:center;margin-right:auto}
.menu-logo img{height:26px;width:auto}
.menu-enlaces{display:none;align-items:center;gap:4px;white-space:nowrap}
.menu-enlaces a{color:var(--texto2);padding:10px 12px;border-radius:999px;font-size:15px;transition:color .2s,background .2s}
.menu-enlaces a:hover,.menu-enlaces a[aria-current]{color:var(--texto);background:rgba(255,255,255,.06)}
.menu-enlaces .btn{margin-left:8px;min-height:40px;padding:0 18px}
.menu-hamb{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:none;border-radius:50%}
.menu-hamb .ico{width:24px;height:24px}
.menu-panel{position:fixed;top:calc(16px + var(--menu-alto) + 8px);left:16px;right:16px;z-index:69;padding:12px;display:none;flex-direction:column;gap:4px}
.menu-panel.abierto{display:flex}
.menu-panel a{display:flex;align-items:center;min-height:52px;padding:0 16px;border-radius:14px;color:var(--texto);font-size:17px}
.menu-panel a:hover{background:rgba(255,255,255,.06);color:var(--texto)}
.menu-panel .btn{justify-content:center;margin-top:8px}
.modo-anuncio .menu-enlaces a:not(.btn),.modo-anuncio .menu-hamb,.modo-anuncio .menu-panel,.modo-anuncio .pie-redes-col{display:none!important}
.modo-anuncio .menu-enlaces{display:flex}

/* hero */
.hero{position:relative;width:100%;height:100svh;overflow:hidden;background:var(--fondo)}
.hero-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-luz{position:absolute;inset:0;z-index:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse 55% 70% at 12% 35%,rgba(255,200,150,.55),transparent 65%);animation:luz 8s ease-in-out infinite}
@keyframes luz{0%,100%{opacity:.25}50%{opacity:.75}}
.hero::before{content:'';position:absolute;inset:0;background:rgba(24,16,24,.55);z-index:1}
.blur-overlay{position:absolute;bottom:0;left:0;right:0;height:50%;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 50%);mask-image:linear-gradient(to bottom,transparent 0%,black 50%);z-index:3}
.photo-container{position:absolute;top:84px;bottom:0;left:0;right:0;overflow:hidden;z-index:2}
.photo-container img{position:absolute;width:125%;left:50%;transform:translateX(-50%);top:0;max-width:none;height:auto;animation:entraFoto 1.2s cubic-bezier(.22,1,.36,1) both}
.photo-container::after{content:'';position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(to bottom,rgba(24,16,24,0),rgba(24,16,24,.92))}
@keyframes entraFoto{from{opacity:0;transform:translateX(-50%) translateY(60px);filter:blur(12px)}to{opacity:1;transform:translateX(-50%) translateY(0);filter:blur(0)}}
.hero-texto{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:0 20px calc(var(--barra) + 20px) 20px;display:flex;flex-direction:column;gap:12px;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero-texto h1{font-size:clamp(28px,7.6vw,32px);max-width:none}
.hero-texto p{color:var(--texto);opacity:.85;font-size:16px;padding-right:68px}
.hero-texto>*{animation:entraTexto .8s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.7s + var(--i,0)*.12s)}
@keyframes entraTexto{from{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
.hero-logo-chico,.hero-logo-grande,.hero-pie{display:none}
.hero-form{display:none}
.form-movil{padding:16px 16px 0}

/* formulario */
.evaluador{padding:20px;display:flex;flex-direction:column;gap:14px;scroll-margin-top:100px}
.evaluador .progreso{height:3px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.evaluador .progreso i{display:block;height:100%;background:var(--acento2);width:0;transition:width .35s}
.evaluador .cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px}
.evaluador .cabecera .etiqueta,.seccion-cabeza .etiqueta{white-space:nowrap}
.evaluador .atras{background:none;border:0;color:var(--texto2);padding:6px 8px 6px 0;display:inline-flex;align-items:center;gap:6px;font-size:14px}
.evaluador .atras:hover{color:var(--texto)}
.evaluador .atras .ico{width:16px;height:16px}
.evaluador h3{font-size:22px;letter-spacing:-.03em}
.evaluador .paso{display:flex;flex-direction:column;gap:10px;animation:paso .25s ease both}
@keyframes paso{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.opcion{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 18px;border-radius:14px;border:1px solid var(--borde);background:rgba(255,255,255,.04);text-align:left;font-size:16px;line-height:1.3;transition:border-color .2s,background .2s}
.opcion:hover{border-color:var(--acento)}
.opcion.elegida{border-color:var(--acento);background:rgba(183,148,214,.15)}
.opcion .ico{width:18px;height:18px;color:var(--acento)}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:14px;color:var(--texto2)}
.campo input{font:inherit;font-size:16px;color:var(--texto);background:rgba(255,255,255,.05);border:1px solid var(--borde);border-radius:12px;min-height:52px;padding:0 16px;width:100%}
.campo input:focus{outline:none;border-color:var(--acento)}
.campo-wa{display:flex;align-items:center;gap:8px}
.campo-wa span{min-height:52px;display:inline-flex;align-items:center;padding:0 14px;border-radius:12px;border:1px solid var(--borde);color:var(--texto2);background:rgba(255,255,255,.03)}
.evaluador .btn{width:100%;min-height:52px}
.evaluador .nota{font-size:14px;color:var(--acento);background:rgba(183,148,214,.1);border-radius:12px;padding:10px 14px}
.evaluador .error{font-size:14px;color:#F2B8B5}
.evaluador .texto{color:var(--texto2);font-size:15px}
.hero-form .evaluador{animation:entraForm .9s cubic-bezier(.22,1,.36,1) 1s both}
@keyframes entraForm{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}

/* secciones */
section{position:relative}
.seccion{padding:72px 20px;max-width:1120px;margin:0 auto}
.seccion-cabeza{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.seccion-cabeza h2{font-size:clamp(28px,4.2vw,40px)}
.seccion-cabeza p{color:var(--texto2);max-width:60ch}

/* quiénes */
.quienes{display:grid;gap:36px;align-items:center}
.quienes-texto{display:flex;flex-direction:column;gap:18px}
.quienes-texto p{color:var(--texto2);font-size:17px}
.quienes-panel{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:2/1;background:var(--fondo)}
.quienes-panel .panel-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.quienes-panel::before{content:'';position:absolute;inset:0;background:rgba(24,16,24,.45);z-index:1}
.quienes-panel img.retrato{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:56%;height:auto;max-width:none;z-index:2}
.quienes-panel::after{content:'';position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(to bottom,rgba(24,16,24,0),rgba(24,16,24,.92));z-index:3}
.cifras{margin-top:48px;overflow:hidden;padding:0;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
.cifras-pista{display:flex;width:max-content;animation:marquee 30s linear infinite}
.cifras.pausa .cifras-pista,.cifras:hover .cifras-pista{animation-play-state:paused}
.cifras-pista>span{display:inline-flex;align-items:baseline;gap:8px;padding:18px 32px;font-size:18px;line-height:1;white-space:nowrap}
.cifras-pista>span b{font-family:Figtree,sans-serif;font-weight:500;color:var(--acento);font-size:18px;line-height:1;letter-spacing:-.02em}
@keyframes marquee{to{transform:translateX(-50%)}}

/* áreas */
.areas{display:grid;gap:16px;grid-template-columns:1fr}
.area-tarjeta{padding:24px;display:flex;flex-direction:column;gap:14px;color:var(--texto)}
.area-tarjeta:hover{color:var(--texto)}
.area-tarjeta .ico{width:28px;height:28px;color:var(--acento)}
.area-tarjeta h3{font-size:24px}
.area-tarjeta p{color:var(--texto2);font-size:15px}
.area-tarjeta .ver{color:var(--acento);font-weight:500;margin-top:auto}

/* situaciones */
.situaciones{display:grid;gap:16px;grid-template-columns:1fr}
.situacion{padding:24px;display:flex;flex-direction:column;gap:12px;text-align:left;width:100%;min-height:150px}
.situacion .ico{width:26px;height:26px;color:var(--acento)}
.situacion h3{font-size:21px}
.situacion p{color:var(--texto2);font-size:15px}

/* proceso */
.proceso{position:relative;display:grid;gap:16px;grid-template-columns:1fr}
.proceso-linea{position:absolute;left:44px;top:24px;bottom:24px;width:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.proceso-linea i{display:block;width:100%;height:100%;background:linear-gradient(180deg,var(--acento2),var(--acento));box-shadow:0 0 16px var(--acento2);transform-origin:top;transform:scaleY(var(--p,0))}
.paso-tarjeta{padding:24px;display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.paso-tarjeta b{font-family:Figtree,sans-serif;font-weight:500;color:var(--acento);font-size:28px;line-height:1;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--fondo);border:1px solid var(--borde)}
.paso-tarjeta h3{font-size:20px}
.paso-tarjeta p{color:var(--texto2);font-size:15px}
.proceso-cta{display:flex;justify-content:center;margin-top:36px}

/* preguntas */
.preguntas{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.preguntas details{padding:0 24px}
.preguntas summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 0;cursor:pointer;font-family:Figtree,sans-serif;font-weight:500;font-size:18px;letter-spacing:-.02em}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary .ico{color:var(--acento);transition:transform .3s}
.preguntas details[open] summary .ico{transform:rotate(180deg)}
.preguntas details p{color:var(--texto2);padding:0 0 20px}

/* cierre */
.cierre{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:96px 16px 72px;overflow:hidden}
.cierre .hero-fondo{z-index:0}
.cierre::before{content:'';position:absolute;inset:0;background:rgba(24,16,24,.6);z-index:1}
.cierre-cuerpo{position:relative;z-index:2;width:100%;max-width:520px;display:flex;flex-direction:column;gap:24px}
.cierre-cuerpo h2{font-size:clamp(30px,5vw,44px);text-align:center}

/* pie */
.pie{padding:56px 20px calc(40px + var(--barra));max-width:1120px;margin:0 auto;display:grid;gap:28px;color:var(--texto2);font-size:14px}
.pie img{height:32px;width:auto}
.pie-col{display:flex;flex-direction:column;gap:8px}
.pie a{color:var(--texto2)}
.pie a:hover{color:var(--texto)}
.pie-redes{display:flex;gap:16px}
.pie-legal{display:flex;flex-wrap:wrap;gap:8px 20px;grid-column:1/-1;padding-top:20px;border-top:1px solid var(--borde)}

/* fijos */
.barra-inferior{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px));background:rgba(24,16,24,.85);border-top:1px solid var(--borde);transition:transform .24s;display:flex}
@supports((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.barra-inferior{background:rgba(24,16,24,.6);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}}
.barra-inferior .btn{width:calc(100% - 32px);margin:0 16px;min-height:56px;font-size:17px}
.form-visible .barra-inferior{transform:translateY(110%)}
.form-visible .wa-flotante{bottom:calc(var(--aviso,0px) + 16px)}
.form-visible .cookies{bottom:12px}
.wa-flotante{position:fixed;right:16px;bottom:calc(var(--barra) + var(--aviso,0px) + 16px);z-index:60;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:bottom .24s,transform .2s}
.wa-flotante:hover{transform:scale(1.05);color:#fff}
.wa-flotante svg{width:30px;height:30px;fill:currentColor}
.cookies{position:fixed;left:16px;right:16px;bottom:calc(var(--barra) + 12px);z-index:50;max-height:88px;padding:8px 14px;display:none;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px;transition:bottom .24s}
.cookies.visible{display:flex}
.cookies p{flex:1 1 220px;line-height:1.4;color:var(--texto2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cookies button{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--borde);background:rgba(255,255,255,.05);font-size:14px;white-space:nowrap}
.cookies button.aceptar{background:var(--texto);color:var(--fondo);border-color:transparent}

/* transiciones de scroll */
.anim{opacity:0;transform:translateY(20px);filter:blur(8px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),filter .7s;transition-delay:calc(var(--i,0)*.08s)}
.anim.visible{opacity:1;transform:none;filter:blur(0)}

/* páginas simples */
.pagina{max-width:760px;margin:0 auto;padding:140px 20px 80px;display:flex;flex-direction:column;gap:20px}
.pagina h1{font-size:clamp(30px,5vw,44px)}
.pagina h2{font-size:22px;margin-top:12px}
.pagina p,.pagina li{color:var(--texto2)}
.gracias{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:120px 16px 80px}
.gracias-caja{max-width:560px;width:100%;padding:32px 24px;display:flex;flex-direction:column;gap:20px}
.gracias-caja h1{font-size:clamp(30px,6vw,40px)}
.gracias-caja .btn{min-height:56px;width:100%}
.gracias-caja ul{margin:0;padding-left:20px;color:var(--texto2)}
.confianza{display:flex;align-items:center;gap:14px;color:var(--texto2)}
.confianza img{width:56px;height:56px;object-fit:cover;object-position:top;border-radius:50%;background:#2B1A35}

@media(max-width:399px){.cookies p{font-size:13px}}
@media(max-width:359px){.cookies{max-height:none}}
@media(min-width:640px){.areas,.situaciones,.proceso{grid-template-columns:1fr 1fr}.proceso-linea{display:none}.pie{grid-template-columns:1fr 1fr}}

@media(min-width:1024px){
:root{--barra:0px}
.menu-enlaces{display:flex}.menu-hamb,.menu-panel{display:none!important}
.barra-inferior{display:none}
.cookies{right:88px}
.hero{display:grid;grid-template-columns:58% 42%;height:auto;min-height:100svh}
.photo-container{position:absolute;bottom:0;top:100px;left:0;right:auto;width:58%}
.photo-container img{bottom:-20px;top:auto;left:50%;transform:translateX(-50%);width:auto;height:calc(100% + 20px)}
@keyframes entraFoto{from{opacity:0;transform:translateX(-50%) translateY(60px);filter:blur(12px)}to{opacity:1;transform:translateX(-50%) translateY(0);filter:blur(0)}}
.photo-container::after{height:45%}
.hero-pie{display:flex;flex-direction:column;align-items:flex-start;gap:14px;position:absolute;left:40px;bottom:40px;z-index:4;width:calc(58% - 80px)}
.hero-pie img{height:clamp(72px,8vw,110px);width:auto;opacity:.95}
.hero-texto{position:relative;grid-column:2;padding:calc(16px + var(--menu-alto) + 32px) 48px 40px 24px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;text-shadow:none;min-height:100svh;max-width:600px}
.hero-texto h1{font-size:clamp(30px,2.6vw,40px);max-width:none}
.hero-texto p{font-size:17px;color:var(--texto2);opacity:1;padding-right:0}
.hero-logo-chico{display:block;height:28px;width:auto;align-self:flex-start;animation:entraTexto .9s cubic-bezier(.22,1,.36,1) .5s both}
.hero-form{display:block;margin-top:8px}
.form-movil{display:none}
.hero-form .evaluador .opcion{min-height:52px}
.seccion{padding:112px 32px}
.quienes{grid-template-columns:46% 54%;gap:56px}
.areas,.situaciones{grid-template-columns:repeat(4,1fr)}
.situaciones{grid-template-columns:repeat(3,1fr)}
.proceso{grid-template-columns:repeat(4,1fr);gap:20px}
.proceso-linea{display:block;left:44px;right:44px;top:44px;bottom:auto;width:auto;height:2px}
.proceso-linea i{transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--acento2),var(--acento))}
.pie{grid-template-columns:1.2fr 1fr 1fr 1fr}
}
@media(min-width:1200px){
.anim.saliendo{opacity:.2;transform:scale(.94);filter:blur(8px)}
}
@media(prefers-reduced-motion:reduce){
.hero-luz,.photo-container img,.hero-texto>*,.hero-form .evaluador,.hero-logo-chico,.cifras-pista{animation:none!important}
.anim{opacity:1;transform:none;filter:none;transition:none}
html{scroll-behavior:auto}
}
