@font-face{font-family:Sora;src:url('brand/sora.ttf') format('truetype');font-display:swap;font-weight:100 800}@font-face{font-family:'DM Sans';src:url('brand/dm-sans.ttf') format('truetype');font-display:swap;font-weight:100 1000}
:root{--ink:#142c40;--blue:#2671ac;--line:#cedce7;--muted:#526477;--soft:#edf5fc}*{box-sizing:border-box}body{margin:0;background:#f6f8fa;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}.ensayo{text-align:center;background:#fff0d2;color:#684515;font-size:12px;padding:9px 16px}.cabecera{background:#060606;color:#c7d5e0;padding:23px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.cabecera img{display:block}.cabecera span{font-size:13px}main{max-width:1120px;margin:auto;min-height:70vh;padding:65px 24px}h1,h2,h3{font-family:Sora,Arial,sans-serif;line-height:1.2;letter-spacing:-.04em}h1{font-size:clamp(34px,4.6vw,58px);font-weight:550;margin:18px 0 22px}h2{font-size:28px}h3{font-size:18px}.etiqueta{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--blue)}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.intro p{max-width:520px;font-size:18px;color:var(--muted)}.azul{color:var(--blue)}.intro p.finalidad{margin:0 0 26px;font-size:17px}.finalidad b{display:block;margin-bottom:6px;color:var(--ink)}.boton,button{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;min-height:50px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:white;font:600 15px 'DM Sans',Arial;cursor:pointer;text-decoration:none;gap:12px}.boton:hover,button:hover{background:#1b4e77}.cta-principal{width:min(100%,360px);min-height:64px;padding:18px 30px;border-radius:12px;font-size:18px;font-weight:700;box-shadow:0 12px 28px #2671ac38;transition:transform .18s ease,box-shadow .18s ease}.cta-principal:hover{transform:translateY(-2px);box-shadow:0 16px 34px #2671ac4a}.cta-principal span{font-size:21px}.secundario{background:transparent;color:var(--ink);border-color:var(--line)}.secundario:hover{background:#e9f0f6}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #3095e3;outline-offset:4px}.promesa{display:flex;gap:12px;align-items:flex-start;max-width:520px;margin:24px 0 0;padding:15px 18px;background:var(--soft);border:1px solid #bcd6ea;border-left:4px solid var(--blue);border-radius:10px;font-size:15px;color:var(--ink)}.promesa>span:first-child{color:var(--blue);font-weight:700;line-height:1.4}.promesa b{color:var(--blue)}.datos-intro{display:flex;gap:30px;margin-top:30px;font-size:13px;color:var(--muted)}.datos-intro b{display:block;color:var(--ink);font-size:18px}.vista{background:white;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 18px 50px #193e6010;transform:rotate(2deg)}.vista h2{font-size:22px}.vista .circulo{font-family:Sora;font-size:38px;color:var(--blue);margin:25px 0}.mini{display:grid;grid-template-columns:110px 1fr;gap:12px;margin:15px 0;font-size:12px}.mini i{height:8px;background:var(--soft);align-self:center;border-radius:10px}.mini i::after{content:'';display:block;height:100%;width:var(--ancho);background:var(--blue);border-radius:10px}.nota{font-size:12px!important;color:var(--muted)}.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:70px;padding-top:30px;border-top:1px solid var(--line)}.pasos p{font-size:14px;color:var(--muted)}.pasos b{color:var(--blue);font-family:Sora}.cuestionario{max-width:760px;margin:auto}.progreso-texto{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.progreso{height:4px;background:#dce5ed;margin:12px 0 42px;border-radius:4px}.progreso div{height:100%;background:var(--blue);transition:width .2s}.cuestionario h1{font-size:clamp(26px,3vw,35px);line-height:1.35;margin:14px 0 25px}.aclaracion{margin:-14px 0 18px}.opciones{display:grid;gap:12px;border:0;padding:0;margin:0}.opcion{display:flex;align-items:center;gap:15px;background:white;border:1px solid var(--line);border-radius:10px;padding:18px 20px;cursor:pointer;min-height:65px}.opcion:hover{border-color:var(--blue)}.opcion:has(input:checked){border:2px solid var(--blue);padding:17px 19px;background:var(--soft)}input[type=radio],input[type=checkbox]{accent-color:var(--blue);width:19px;height:19px;flex-shrink:0}.navegacion{display:flex;justify-content:space-between;gap:15px;margin-top:30px}.error{color:#9c2a20;background:#fff0ed;padding:12px 16px;border-radius:8px;margin-top:16px}.campo{display:block;margin:22px 0}.campo span{display:block;font-weight:600;margin-bottom:8px}input[type=text],input[type=email],textarea{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:7px;font:inherit;color:var(--ink)}textarea{resize:vertical}.campo span small{font-weight:400;color:var(--muted)}.casilla{display:flex;gap:14px;align-items:flex-start;margin:20px 0;font-size:14px}.trampa{position:absolute;left:-9999px}.resultado-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:45px}.tarjeta{background:white;border:1px solid var(--line);border-radius:14px;padding:28px}.puntuacion{font:600 72px Sora;color:var(--blue);margin:20px 0;letter-spacing:-5px}.puntuacion small{font:400 23px Sora;letter-spacing:0;color:var(--muted)}.lectura{color:var(--muted)}.dimension{display:grid;grid-template-columns:1fr 100px 35px;align-items:center;gap:14px;font-size:13px;margin:16px 0}.pista{height:7px;background:#e3eaf0;border-radius:8px}.barra{height:100%;background:var(--blue);border-radius:8px}.recomendaciones{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.recomendaciones p{font-size:14px}.contraste{border-left:3px solid var(--blue);padding:5px 20px;color:var(--muted)}.pie{max-width:1120px;margin:auto;padding:25px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.oculto{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:720px){.cta-principal{width:100%;min-height:64px;padding:18px 22px;font-size:18px}.promesa{max-width:none;font-size:14px}.cabecera{padding:20px 24px}.cabecera span{display:none}main{padding:35px 20px}.intro,.resultado-grid{grid-template-columns:1fr;gap:35px}.vista{transform:none}.pasos{grid-template-columns:1fr;margin-top:40px;gap:14px}.pasos h3{display:inline;margin-left:15px}.pasos p{margin:6px 0}.recomendaciones{grid-template-columns:1fr}.pie{display:block}.pie span{display:block}.opcion{padding:16px 14px}.opcion:has(input:checked){padding:15px 13px}.cuestionario h1{letter-spacing:-.03em}.dimension{grid-template-columns:1fr 70px 32px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.casilla small{color:var(--muted)}.esperando{display:flex;align-items:center;gap:12px;font-size:15px!important;color:var(--ink)!important;background:var(--soft);border:1px solid #bcd6ea;border-radius:10px;padding:12px 16px}.girando{flex-shrink:0;width:22px;height:22px;border:3px solid #cedce7;border-top-color:var(--blue);border-radius:50%;animation:girar .8s linear infinite}@keyframes girar{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.girando{animation-duration:2.4s}}
.contacto{margin:32px 0 24px;border-color:#bcd6ea;background:var(--soft)}.contacto p{margin:0 0 16px}.contacto .vias{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.contacto .secundario{background:white}.aviso-contacto{margin:-8px 0 26px;font-size:15px;color:var(--muted)}.aviso-contacto a{color:var(--blue);font-weight:600}.lista-contacto{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.lista-contacto li{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:15px}.lista-contacto span{min-width:80px;color:var(--muted)}.lista-contacto a{color:var(--ink);font-weight:600}
.boton.whatsapp{background:#25d366;border-color:#25d366;color:#0b2e17;gap:10px}.boton.whatsapp:hover{background:#1ebe5b;border-color:#1ebe5b}.icono-whatsapp{flex-shrink:0}
/* DP-60: QR del informe en modo asistido, a pantalla completa; negro sobre blanco y con aire para que lo lea cualquier cámara. */
.qr-informe{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px 16px;background:white;text-align:center;overflow:auto}.qr-informe[hidden]{display:none}.qr-informe p{margin:0;max-width:520px;font-size:clamp(18px,3vw,24px)}.qr-informe svg{display:block;width:min(88vw,62vh,520px);height:auto;flex-shrink:0}
