@font-face{font-family:"Montserrat MX";src:url(../fonts/Montserrat-Light.woff) format("woff");font-weight:300;font-display:swap}
@font-face{font-family:"Montserrat MX";src:url(../fonts/Montserrat-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat MX";src:url(../fonts/Montserrat-Medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat MX";src:url(../fonts/Montserrat-SemiBold.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Montserrat MX";src:url(../fonts/Montserrat-Bold.woff) format("woff");font-weight:700;font-display:swap}
:root{--azul:#3679BD;--azul-osc:#22578F;--azul-cl:#EAF2FA;--blanco:#fff;--blanco2:#F7F9FC;--texto:#1A1A1A;--dorado:#D4AF37;--dorado-b:#B38A1F;--gris:#5A5A5A;--alto-cab:68px;--flecha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M1 7h11M8 2l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E")}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Montserrat MX",Montserrat,system-ui,sans-serif;font-weight:400;color:var(--texto);background:var(--blanco2);line-height:1.55;overflow-x:hidden}
img,video,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--dorado-b);outline-offset:3px}
.azul :focus-visible,.cab :focus-visible{outline-color:#fff}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;position:relative;z-index:1}
section{scroll-margin-top:var(--alto-cab);position:relative;overflow:hidden}
.pad{padding:72px 0}
@media(min-width:900px){.pad{padding:112px 0}.wrap{padding:0 40px}}
/* fondos */
.azul{color:#fff;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 1.5px,transparent 1.5px 26px),radial-gradient(120% 90% at 50% 25%,#3679BD 0%,#2F6DAE 55%,#22578F 100%)}
.blanco{background:repeating-linear-gradient(115deg,rgba(53,120,188,.035) 0 1.5px,transparent 1.5px 26px),var(--blanco2)}
.claro{background:var(--azul-cl)}
.mono::before{content:"";position:absolute;width:min(130vw,1100px);aspect-ratio:1720/1000;right:-18%;top:50%;transform:translateY(-50%);background:#fff;opacity:.08;-webkit-mask:url(../logo/monograma.svg) center/100% 100% no-repeat;mask:url(../logo/monograma.svg) center/100% 100% no-repeat;pointer-events:none}
.blanco.mono::before,.claro.mono::before{background:var(--azul);opacity:.06}
.mono.izq::before{right:auto;left:-22%}
/* tipografía */
.ante{font-weight:400;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);margin-bottom:18px}
.azul .ante{color:#fff}
.claro .ante{color:var(--azul-osc)}
.tit{font-weight:700;line-height:1.1;letter-spacing:-.01em;font-size:clamp(2rem,5.4vw,3.9rem)}
.tit.med{font-size:clamp(1.6rem,3.6vw,2.6rem)}
.esc span{display:block}
.esc span+span{padding-left:clamp(.8rem,3.4vw,2.6rem)}
.apoyo{font-weight:300;font-size:clamp(1.05rem,1.9vw,1.35rem);line-height:1.5;margin-top:22px;max-width:40ch}
/* etiquetas con un cuadrito sólido al inicio, sin caja */
.ante::before,.etq::before,.chips a::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;background:currentColor;vertical-align:.1em}
.etq{font-weight:500;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--azul-osc);margin-bottom:14px}
/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font:inherit;font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;text-align:center;padding:16px 22px;border-radius:0;border:1.5px solid transparent;cursor:pointer;min-height:48px;transition:background .2s,color .2s,border-color .2s}
.btn::after,.enl-diag::after{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:var(--flecha) center/contain no-repeat;mask:var(--flecha) center/contain no-repeat;transition:transform .2s}
@media(prefers-reduced-motion:no-preference){.btn:hover::after,.enl-diag:hover::after{transform:translateX(4px)}}
.btn-bl{background:#fff;color:var(--azul-osc)}
.btn-bl:hover{background:var(--azul-osc);color:#fff}
.btn-az{background:var(--azul-osc);color:#fff}
.btn-az:hover{background:var(--texto)}
.btn-ln{background:transparent;color:#fff;border-color:#fff}
.btn-ln:hover{background:#fff;color:var(--azul-osc)}
.btn-ln-az{background:transparent;color:var(--azul-osc);border-color:var(--azul-osc)}
.btn-ln-az:hover{background:var(--azul-osc);color:#fff}
.fila{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
/* cabecera */
.cab{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--alto-cab);background:var(--azul-osc);color:#fff}
.cab .wrap{display:flex;align-items:center;justify-content:space-between;height:100%;gap:12px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:500;letter-spacing:.3em;font-size:.95rem;text-transform:uppercase}
.marca img{height:34px;width:auto}
.nav ul{display:flex;gap:30px}
.nav a{text-decoration:none;font-weight:500;font-size:.92rem;padding:8px 2px}
.nav a:hover{text-decoration:underline;text-underline-offset:6px}
.cab-der{display:flex;align-items:center;gap:10px}
.cab .btn{padding:10px 16px;font-size:.9rem;min-height:44px;gap:10px}
.cab .btn-bl:hover{background:var(--azul);color:#fff}
.menu-b{display:none;font:inherit;font-weight:500;font-size:.9rem;color:#fff;background:transparent;border:1.5px solid #fff;border-radius:0;padding:8px 16px;min-height:44px;cursor:pointer}
@media(max-width:860px){
 .menu-b{display:inline-flex;align-items:center}
 .nav{position:absolute;left:0;right:0;top:var(--alto-cab);background:var(--azul-osc);padding:8px 20px 20px;display:none}
 .nav.abierto{display:block}
 .nav ul{flex-direction:column;gap:0}
 .nav a{display:block;padding:14px 0;font-size:1rem}
}
@media(max-width:480px){.marca{letter-spacing:.2em;font-size:.8rem;gap:8px}.marca img{height:28px}.cab .btn{padding:8px 12px;font-size:.82rem}.menu-b{padding:8px 12px}}
@media(max-width:360px){.marca span{display:none}}
/* portada */
.portada{padding-top:calc(var(--alto-cab) + 56px);padding-bottom:72px}
.portada .wrap{display:grid;gap:44px;align-items:center}
@media(min-width:1100px){.portada{min-height:min(100vh,780px);padding-bottom:96px}.portada .wrap{max-width:none;padding-left:max(40px,calc((100% - 1200px)/2 + 40px));padding-right:0;grid-template-columns:5fr 7fr;gap:48px}}
.portada h1{font-weight:300;font-size:clamp(1.7rem,7.4vw,4.4rem)}
.portada h1 strong{font-weight:700}
@media(min-width:1100px){.portada h1{font-size:clamp(1.9rem,3vw,2.8rem)}}
.chips{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:22px}
.chips a{display:inline-block;padding:8px 0;font-size:.85rem;font-weight:500;line-height:1.3;color:#fff;text-decoration:none}
.chips a:hover{text-decoration:underline;text-underline-offset:6px}
.para{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.para video,.para img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* escritorio: el video llega al borde derecho de la ventana; esquinas y desvanecido sólo a la izquierda */
@media(min-width:1100px){.para{border-radius:18px 0 0 18px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%);-webkit-mask-composite:source-over;mask-image:linear-gradient(90deg,transparent,#000 9%);mask-composite:add}}
/* teléfono: a todo el ancho de la pantalla, sin márgenes */
@media(max-width:699px){.reel{margin:0 -20px}.para{border-radius:0;-webkit-mask-image:none;mask-image:none}}
/* acompañamiento escrito bajo el video: barra de avance y texto del tramo (reel-tramos.json) */
.acomp{margin-top:16px;color:#fff}
.acomp[hidden]{display:none}
.acomp-barra{position:relative;height:3px;background:rgba(255,255,255,.25)}
.acomp-avance{display:block;height:100%;width:0;background:rgba(255,255,255,.9)}
.acomp-marca{position:absolute;top:-3px;width:1px;height:9px;background:rgba(255,255,255,.4)}
.acomp-fila{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:12px;min-height:1.6em}
.acomp-cap{flex:none;font-weight:500;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:#fff;transition:opacity .2s}
.acomp-txt{font-size:.98rem;font-weight:500;line-height:1.4;text-align:right;color:#fff;transition:opacity .2s}
.acomp-cap.fuera,.acomp-txt.fuera{opacity:0}
.acomp-lista{display:none}
@media(min-width:1100px){.acomp{padding-right:40px}}
@media(max-width:699px){.acomp{padding:0 20px}.acomp-fila{flex-direction:column;gap:6px}.acomp-txt{text-align:left}}
@media(prefers-reduced-motion:reduce){.acomp,.acomp[hidden]{display:none}.acomp-lista{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;color:#fff;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase}}
/* prueba en una sola franja, cifras y logos */
.prueba{padding:48px 0 40px}
@media(min-width:900px){.prueba{padding:56px 0 48px}}
/* respaldo, cifras en lista por debajo de 1100 px */
.datos{display:grid;gap:14px}
.dato p{display:grid;grid-template-columns:8.5rem 1fr;align-items:center;gap:16px;font-weight:400;font-size:1rem;line-height:1.4}
.dato small{display:block;font-size:.8rem;font-weight:400;line-height:1.2;color:var(--texto);margin-bottom:6px}
.dato .oro{display:block;font-weight:300;color:var(--dorado-b);font-size:clamp(3rem,6vw,5rem);line-height:1}
@media(min-width:1100px){.datos{grid-template-columns:repeat(5,1fr);gap:32px;align-items:start}.dato p{display:block;font-size:.95rem}.dato .oro{margin-bottom:14px}}
/* marcas, una sola fila en escritorio */
.marcas{margin-top:36px}
.marcas .ante{font-size:.7rem;margin-bottom:16px}
.logos{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:center}
@media(min-width:1000px){.logos{gap:22px 40px}}
.logos li{display:flex;align-items:center;justify-content:center;height:40px}
.logos img{height:auto;width:auto;max-height:34px;max-width:112px;object-fit:contain;opacity:.62;transition:opacity .25s}
.logos img:hover{opacity:1}
/* inteligencia híbrida, con la ecuación bajo el título */
.hibrida{padding:56px 0 64px}
@media(min-width:900px){.hibrida{padding:72px 0 80px}}
.hibrida .esc span:first-child{font-weight:300}
.ecu{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:22px;font-weight:600;font-size:.82rem;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--azul-osc)}
.ecu .sig{font-weight:300;font-size:1.5em;line-height:1}
.ecu .res-e{font-weight:700;color:var(--azul)}
@media(min-width:900px){.ecu{font-size:.92rem}}
.hib{display:grid;gap:16px;margin-top:32px}
@media(min-width:760px){.hib{grid-template-columns:1fr 1fr}}
.hib-b{background:#fff;padding:28px}
.hib-b .ante{margin-bottom:10px}
.hib-b h3{font-weight:700;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.1;margin:0 0 12px}
.hib-b p:last-child{font-size:1.02rem}
.hib-b.osc{background:var(--azul-osc);color:#fff}
.hib-b.osc .ante{color:#fff}
/* los cuatro frentes, rejilla de 2 x 2 en damero */
.frente{padding:56px 0 64px}
@media(min-width:900px){.frente{padding:80px 0 80px}}
.ea3{margin-bottom:32px}
.frentes{display:grid;gap:16px}
@media(min-width:900px){.frentes{grid-template-columns:1fr 1fr}}
.fr{display:flex;flex-direction:column;padding:32px 28px;border-radius:0;scroll-margin-top:calc(var(--alto-cab) + 16px)}
.fr.osc{background:var(--azul-osc);color:#fff}
.fr.cl{background:var(--azul-cl);color:var(--texto)}
.fr.osc :focus-visible{outline-color:#fff}
.fr.osc .ante{color:#fff}
.fr.cl .ante{color:var(--azul-osc)}
.fr .ante{margin-bottom:12px}
.fr h3{font-weight:700;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;margin-bottom:18px}
.lista{display:grid;gap:12px;font-weight:400;font-size:.97rem;line-height:1.5}
.lista b{font-weight:700}
.fr .fila{margin-top:auto;padding-top:26px}
.fr.osc .enl-diag{color:#fff}
.pw{display:inline-flex;align-items:center;gap:8px;margin-left:6px;vertical-align:middle;font-size:.8rem;letter-spacing:.08em}
.pw img{height:16px;width:auto}
.fr.osc .pw img{filter:brightness(0) invert(1)}
.chica{font-size:.85rem;color:#5F5F5F;margin-top:20px;max-width:70ch}
/* diagnóstico */
.diag-cab{margin-bottom:40px}
@media(min-width:1000px){
 #diagnostico{overflow:visible}
 .diag-wrap{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
 .diag-cab{position:sticky;top:calc(var(--alto-cab) + 28px);margin-bottom:0}
}
.diag{max-width:860px;background:#fff;padding:28px 22px 34px}
@media(min-width:700px){.diag{padding:40px 44px 46px}}
.barra{height:6px;background:var(--azul-cl);overflow:hidden;margin-bottom:28px}
.barra i{display:block;height:100%;width:0;background:var(--azul);transition:width .25s}
.paso-t{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.preg{font-weight:700;font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.25;margin-bottom:22px}
.opts{display:grid;gap:12px}
.opt{font:inherit;font-weight:500;font-size:1rem;text-align:left;color:var(--texto);background:var(--azul-cl);border:0;border-radius:0;padding:18px 20px;min-height:56px;cursor:pointer;transition:background .2s,color .2s}
.opt:hover{background:var(--azul);color:#fff}
.atras{font:inherit;font-weight:500;color:var(--azul-osc);background:none;border:0;padding:12px 0;margin-top:18px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.resultado{background:none;padding:0}
.resultado .ante{color:var(--azul-osc)}
.r-n{font-weight:700;font-size:clamp(1.8rem,4.6vw,2.8rem);line-height:1.1;color:var(--azul-osc)}
.r-frase{font-weight:600;font-size:1.15rem;color:var(--azul-osc);margin-top:10px}
.r-nota{font-weight:400;margin-top:16px}
.resultado h4{font-weight:700;font-size:1rem;color:var(--azul-osc);margin:26px 0 8px}
.resultado ol{list-style:decimal;padding-left:22px;display:grid;gap:8px}
/* trabajos, una fila deslizable */
.trab{padding:56px 0 64px}
@media(min-width:900px){.trab{padding:72px 0 80px}}
.cab-t{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.flechas{display:flex;gap:8px;flex:none}
.fl{width:48px;height:48px;padding:0;border:0;border-radius:0;background:var(--azul-osc);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.fl::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--flecha) center/contain no-repeat;mask:var(--flecha) center/contain no-repeat}
.fl-ant::after{transform:scaleX(-1)}
.fl:hover{background:var(--texto)}
.trabajos{display:flex;gap:16px;margin-top:32px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}
.trabajos::-webkit-scrollbar{display:none}
.ficha{flex:0 0 min(84vw,440px);scroll-snap-align:start;background:var(--azul-cl);border-radius:0;padding:28px 26px 30px;display:flex;flex-direction:column}
.ficha h3{font-weight:700;font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.15;color:var(--texto);margin-bottom:12px}
.ficha-img{display:block;width:calc(100% + 52px);max-width:none;margin:-28px -26px 22px;aspect-ratio:16/10;height:auto}
.ficha-img{object-fit:cover;background:#151A21}
.ficha-media{display:flex;flex-direction:column;width:calc(100% + 52px);margin:-28px -26px 22px;aspect-ratio:16/10;background:var(--azul-osc);padding:18px 18px 0}
.nav-barra{flex:none;height:24px;background:#fff;display:flex;align-items:center;gap:6px;padding:0 10px}
.nav-barra i{width:7px;height:7px;background:#C9D7E6}
.nav-barra span{margin-left:8px;font-size:.72rem;line-height:1;color:#5A6573;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ficha-media video{flex:1;min-height:0;width:100%;object-fit:cover;object-position:top center;display:block;background:#fff;pointer-events:none}
@media(max-width:600px){.ficha-media{aspect-ratio:4/5}}
@media(max-width:480px){.ficha-media{padding:10px 10px 0}.nav-barra{height:20px}}
/* contacto */
.contacto .wrap{display:grid;gap:44px}
@media(min-width:900px){.contacto .wrap{grid-template-columns:1.2fr 1fr;gap:64px;align-items:start}}
.inicio{display:grid;gap:14px;margin-top:28px}
.inicio li{display:flex;gap:14px;align-items:flex-start}
.inicio .cont{flex:none;display:grid;place-items:center;width:44px;height:44px;background:#fff}
.inicio .cont svg{width:28px;height:auto;display:block}
.inicio b{display:block;font-weight:700;font-size:1rem;line-height:1.3}
.inicio li span:not(.cont){display:block;font-size:.9rem;line-height:1.45;margin-top:4px}
@media(min-width:620px){.inicio{grid-template-columns:repeat(3,1fr);gap:20px}.inicio li{flex-direction:column;gap:10px}}
form{display:grid;gap:16px;margin-top:30px}
.campo{display:grid;gap:6px}
label{font-weight:500;font-size:.9rem}
input[type=text],input[type=email],input[type=tel],select,textarea{font:inherit;font-weight:400;width:100%;padding:13px 14px;border-radius:0;border:1.5px solid #C9D7E6;background:#fff;color:var(--texto);min-height:48px}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,select:focus,textarea:focus{border-color:var(--azul)}
textarea{min-height:130px;resize:vertical}
.dos-c{display:grid;gap:16px}
@media(min-width:620px){.dos-c{grid-template-columns:1fr 1fr}}
.acepto{display:flex;gap:12px;align-items:flex-start;font-size:.92rem}
.acepto input{width:22px;height:22px;margin-top:2px;flex:none}
.acepto a{font-weight:600}
.gracias{display:none;margin-top:30px;background:#fff;color:var(--azul-osc);padding:24px;border-radius:0;font-weight:600;font-size:1.15rem}
.error{display:none;margin-top:4px;font-weight:500;background:var(--azul-osc);padding:12px 14px;border-radius:0}
.lado{display:grid;gap:16px;align-content:start;padding-top:8px}
.lado a{display:block;text-decoration:none;padding:20px 22px;background:var(--azul-osc);color:#fff;transition:background .25s,color .25s}
.lado a:hover{background:#fff;color:var(--azul-osc)}
.lado small{display:block;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;opacity:.9;margin-bottom:4px}
.lado b{font-weight:600;font-size:1.1rem;word-break:break-word}
/* pie */
.pie{background:#fff;padding:56px 0 36px}
.pie .wrap{display:grid;gap:30px}
@media(min-width:860px){.pie .wrap{grid-template-columns:auto 1fr auto;align-items:center;gap:56px}}
@media(max-width:899px){.pie{padding-bottom:104px}}
.pie img{width:150px;height:auto;display:block}
.pie p{font-weight:300;font-size:1.05rem;margin-top:8px}
.pie ul{display:flex;flex-wrap:wrap;gap:8px 26px}
.pie a{text-decoration:none;font-weight:500;color:var(--azul-osc);padding:6px 0;display:inline-block}
.pie a:hover{text-decoration:underline}
.pie small{font-size:.85rem;color:var(--gris)}
/* aviso */
.aviso{padding:calc(var(--alto-cab) + 48px) 0 80px}
.aviso .wrap{max-width:860px}
.borrador{background:#FFF6D6;border:2px solid var(--dorado-b);padding:16px 20px;border-radius:0;font-weight:600;margin:28px 0 36px;color:#4A3A08}
.aviso h2{font-weight:700;font-size:1.35rem;color:var(--azul-osc);margin:38px 0 10px}
.aviso p,.aviso li{font-weight:400;margin-top:10px}
.aviso ul{list-style:disc;padding-left:22px}
.aviso a{color:var(--azul-osc);font-weight:600}
/* aparición */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .2s ease,transform .2s ease}
.js .rv.vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transform:none;transition:none}.btn,.fl,.barra i,.opt,.lado a,.wa-flot,.wa-et,.pestanas [role=tab]{transition:none}}
[tabindex="-1"]:focus{outline:none}
.ea3{margin-bottom:56px}
.saltar{position:absolute;left:-9999px;top:0}
.saltar:focus{left:16px;top:16px;z-index:100;background:#fff;color:var(--azul-osc);padding:12px 18px;border-radius:0;font-weight:600}
main:focus{outline:none}
.nota-cta{margin-top:14px;font-size:.92rem;color:#fff}
.portada .apoyo{max-width:52ch}
.portada .fila{align-items:center;column-gap:22px}
.preguntas{background:repeating-linear-gradient(115deg,rgba(53,120,188,.035) 0 1.5px,transparent 1.5px 26px),#F7F9FC}
.pfs{margin-top:36px;display:grid;gap:8px;align-items:start}
@media(min-width:900px){.pfs{grid-auto-flow:column;grid-template-rows:repeat(4,auto);grid-template-columns:1fr 1fr;gap:12px 20px}}
.pf{background:var(--azul-cl);padding:0 22px}
.pf summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:56px;padding:14px 0;font-weight:600;font-size:1.08rem;color:#1A1A1A}
.pf summary::-webkit-details-marker{display:none}
.pf summary::after{content:"+";font-weight:400;font-size:1.6rem;color:var(--azul);line-height:1}
.pf[open] summary::after{content:"–"}
.pf p{padding:0 0 18px;max-width:70ch;color:#3F3F3F}
/* diagnóstico en tres áreas */
.enl-diag{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-weight:600;font-size:1rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;color:var(--azul-osc);padding:0 4px}
.azul .enl-diag{color:#fff}
.pestanas{display:none;gap:6px;flex-wrap:wrap;margin:-6px 0 28px;padding-bottom:14px}
.js .pestanas{display:flex}
.pestanas [role=tab]{font:inherit;font-weight:600;font-size:.95rem;color:var(--azul-osc);background:var(--azul-cl);border:0;border-radius:0;padding:12px 18px;min-height:44px;cursor:pointer;transition:background .2s,color .2s}
.pestanas [role=tab]:hover{background:var(--azul);color:#fff}
.pestanas [role=tab][aria-selected=true]{background:var(--azul-osc);color:#fff}
.pestanas [role=tab]:focus-visible{outline:3px solid var(--dorado-b);outline-offset:3px}
@media(max-width:480px){.pestanas [role=tab]{flex:1 1 auto;padding:10px 12px;font-size:.88rem}}
.opt[aria-pressed=true]{background:var(--azul-osc);color:#fff}
.objetivo{margin-top:0;gap:10px}
.objetivo .preg{display:block;margin-bottom:6px}
.diag textarea{min-height:120px}
.obj-pie{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:.88rem;color:var(--gris)}
.obj-cuenta{font-variant-numeric:tabular-nums}
.objetivo .fila{margin-top:14px}
.trampa{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.espera{font-weight:600;font-size:1.15rem;color:var(--azul-osc);padding:36px 0;text-align:center}
.r-resumen{margin-top:12px;max-width:70ch}
.dims{display:grid;gap:12px;margin-top:24px;max-width:620px}
.dims li{display:grid;grid-template-columns:7.5rem 1fr 2.6rem;align-items:center;gap:12px}
.d-n{font-weight:600;font-size:.95rem;color:var(--azul-osc)}
.d-b{display:block;height:10px;background:var(--azul-cl);overflow:hidden}
.d-b i{display:block;height:100%;background:var(--azul)}
.d-v{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:var(--azul-osc)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.r-col{display:grid;gap:4px}
@media(min-width:700px){.r-col{grid-template-columns:1fr 1fr;gap:28px}}
.r-col ul{list-style:disc;padding-left:20px;display:grid;gap:6px}
.r-pie{margin-top:24px;font-size:.82rem;color:#4F5B68;max-width:70ch}
@media(max-width:480px){.dims li{grid-template-columns:6.2rem 1fr 2.2rem;gap:8px}}
/* captura de datos del diagnóstico */
.captura{margin-top:30px;padding:24px 22px 26px;background:var(--azul-cl)}
.resultado .captura h4{margin-top:0;font-size:1.15rem}
.captura>p{max-width:60ch}
.cap-form{display:grid;gap:16px;margin-top:18px}
.cap-form .campo label{color:var(--texto)}
.cap-form input[type=text],.cap-form input[type=email]{min-height:48px}
.cap-form input[aria-invalid=true]{border-color:#B3261E}
.cap-form .acepto a{color:var(--azul-osc)}
.cap-err{color:#B3261E;font-weight:500;font-size:.9rem}
.cap-err:empty{display:none}
.cap-aviso{margin-top:14px;font-size:.9rem;color:#4F5B68}
.cap-ok{margin-top:30px;padding:18px 22px;background:var(--azul-osc);color:#fff;font-weight:600}
.cap-form .btn{justify-self:start}
.cap-form .btn[disabled]{opacity:.7;cursor:default}
@media(min-width:620px){.cap-dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:480px){.captura{padding:20px 16px 22px}}
/* botón flotante de WhatsApp, única pieza con círculo y sombra */
.wa-flot{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .2s}
.wa-flot svg{width:30px;height:30px;display:block}
.wa-et{display:none}
@media(prefers-reduced-motion:no-preference){.wa-flot:hover{transform:scale(1.06)}}
@media(min-width:900px){
 .wa-et{display:block;position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--azul-osc);color:#fff;font-weight:600;font-size:.9rem;line-height:1.2;white-space:nowrap;padding:12px 16px;opacity:0;pointer-events:none;transition:opacity .2s}
 .wa-flot:hover .wa-et,.wa-flot:focus-visible .wa-et{opacity:1}
}
@media(max-width:480px){.cab-der>.btn{display:none}}
