/* Z INVESTIGACIONES — película del caso. */
.cf-film{position:relative;width:100%}
.cf-screen{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#272930;border-radius:6px;box-shadow:0 40px 90px -50px #272930cc;isolation:isolate}
.cf-film.is-v .cf-screen{aspect-ratio:9/16}
.cf-stage{position:absolute;inset:0}
.cf-controls{display:flex;align-items:center;gap:14px;margin-top:14px;color:#272930}
.cf-play{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#294B75;color:#F6F7F8;border:0;cursor:pointer;transition:transform .2s}
.cf-play:hover{transform:scale(1.06)}
.cf-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cf-play .i-play .cf-ic{fill:currentColor;stroke:none}
.cf-play .i-play,.cf-play.is-paused .i-pause{display:none}.cf-play.is-paused .i-play{display:block}
.cf-play:focus-visible,.cf-chapters button:focus-visible{outline:2px solid #6552df;outline-offset:3px}
.cf-chapters{flex:1;display:flex;gap:6px;min-width:0}
.cf-chapters button{flex:var(--w) 1 0;min-width:0;background:none;border:0;padding:6px 0;cursor:pointer;text-align:left;font:500 11px/1.3 'DM Mono',monospace;letter-spacing:.06em;color:#62666f;text-transform:uppercase}
.cf-chapters button span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:7px}
.cf-chapters button.is-on{color:#272930}
.cf-chapters i{display:block;height:3px;background:#2729301f;border-radius:2px;overflow:hidden}
.cf-chapters b{display:block;height:100%;width:calc(var(--p,0) * 100%);background:#294B75}
.cf-time{flex:none;font:500 12px 'DM Mono',monospace;color:#62666f;min-width:3.4em;text-align:right}
@media(max-width:720px){.cf-chapters button span{font-size:0;margin:0}.cf-chapters{gap:4px}.cf-screen{border-radius:4px}}

.zf-canvas{--pa:#F6F7F8;--gr:#272930;--az:#294B75;--ar:#E9EDF2;--serif:Georgia,'Liberation Serif','Times New Roman',serif;position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden;background:var(--pa);font-family:'DM Sans',Arial,sans-serif;color:var(--gr);-webkit-font-smoothing:antialiased}
.zf-canvas *{box-sizing:border-box;margin:0}
.zf-scene{position:absolute;inset:0;visibility:hidden;overflow:hidden;background:linear-gradient(180deg,#fbfcfd,var(--pa) 50%,var(--ar))}
.zf-dark{background:radial-gradient(ellipse at 80% 0,#3a3d47,var(--gr) 65%);color:var(--pa)}
.zf-navy{background:radial-gradient(ellipse at 20% 0,#33598a,#1b2c45 70%);color:var(--pa)}
.zf-kick{font:500 21px/1.4 'DM Mono',monospace;letter-spacing:.16em;color:#27293099}
.zf-dark .zf-kick,.zf-navy .zf-kick{color:#F6F7F899}
.zf-h2{font-weight:700;font-size:100px;line-height:.98;letter-spacing:-.045em}
.zf-h2 em,.zf-s2-h em,.zf-s1-tag em,.zf-end-line em,.zf-s5-foot em{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.02em;color:var(--az)}
.zf-dark .zf-s2-h em,.zf-navy .zf-h2 em,.zf-navy .zf-s5-foot em,.zf-dark .zf-end-line em{color:#a9c3e6}
.zf-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.08em}
.zf-line>span{display:inline-block;will-change:transform}
.zf-z{display:block;overflow:visible}
.zf-z-fill{fill:currentColor}
.zf-z-frame{fill:none;stroke:currentColor;stroke-width:1.4;vector-effect:non-scaling-stroke}
.zf-top,.zf-bottom{position:absolute;left:80px;right:80px;display:flex;justify-content:space-between;font:500 19px 'DM Mono',monospace;letter-spacing:.14em;color:#27293088;z-index:3}
.zf-top{top:56px}.zf-bottom{bottom:56px}
.zf-wipe{position:absolute;inset:0;z-index:50;pointer-events:none}
.zf-wipe i{position:absolute;inset:0;transform:translateY(101%)}
.zf-wipe i:nth-child(1){background:var(--ar)}.zf-wipe i:nth-child(2){background:var(--az)}.zf-wipe i:nth-child(3){background:var(--gr)}
.zf-note{position:absolute;right:36px;bottom:26px;z-index:60;font:500 15px 'DM Mono',monospace;letter-spacing:.06em;color:#62666f;background:#F6F7F8d9;padding:6px 12px;border-radius:30px;opacity:0}

/* S1 */
.zf-grid{position:absolute;inset:0;background-image:linear-gradient(#27293010 1px,transparent 1px),linear-gradient(90deg,#27293010 1px,transparent 1px);background-size:60px 60px}
.zf-s1-lock{position:absolute;left:50%;top:330px;transform-origin:50% 50%;display:flex;align-items:center;gap:36px;translate:-50% 0}
.zf-s1-z{width:260px;height:260px;color:var(--gr)}
.zf-s1-z .zf-z-frame{stroke-width:2.4}
.zf-s1-word{font:400 120px/1 var(--serif);letter-spacing:-.03em}
.zf-s1-verbs{position:absolute;left:0;right:0;top:660px;display:flex;justify-content:center;gap:22px;font:500 24px 'DM Mono',monospace;letter-spacing:.24em;color:var(--az)}
.zf-s1-verbs i{font-style:normal;color:var(--gr)}
.zf-s1-tag{position:absolute;left:0;right:0;top:760px;text-align:center;font-weight:600;font-size:52px;letter-spacing:-.03em}
.zf-v .zf-s1-lock{flex-direction:column;top:480px;gap:20px}
.zf-v .zf-s1-word{font-size:110px}
.zf-v .zf-s1-verbs{top:1150px;flex-direction:column;align-items:center;gap:10px}.zf-v .zf-s1-verbs i{display:none}
.zf-v .zf-s1-tag{top:1400px;font-size:62px}
.zf-v .zf-top{flex-direction:column;gap:10px}

/* S2 */
.zf-s2 .zf-kick{position:absolute;left:120px;top:110px}
.zf-s2-h{position:absolute;left:120px;top:165px;font-weight:700;font-size:126px;line-height:.98;letter-spacing:-.05em}
.zf-cards{position:absolute;left:120px;right:120px;bottom:100px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.zf-card{border:1px solid #F6F7F833;padding:32px;min-height:250px;display:flex;flex-direction:column;gap:14px;background:#ffffff08;color:var(--pa);position:relative}
.zf-card::before,.zf-card::after{content:'';position:absolute;width:26px;height:26px;border:2px solid currentColor;opacity:.6}
.zf-card::before{left:-1px;top:-1px;border-right:0;border-bottom:0}.zf-card::after{right:-1px;bottom:-1px;border-left:0;border-top:0}
.zf-card b{font:500 20px 'DM Mono',monospace;opacity:.7}
.zf-card strong{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1.05}
.zf-card p{font-size:25px;line-height:1.4;opacity:.85}
.zf-v .zf-s2 .zf-kick{left:90px;top:120px}.zf-v .zf-s2-h{left:90px;top:180px;font-size:104px}
.zf-v .zf-cards{left:90px;right:90px;bottom:110px;grid-template-columns:1fr;gap:18px}.zf-v .zf-card{min-height:0;padding:26px 30px}

/* S3 · Lupa */
.zf-s3{background:radial-gradient(ellipse at 50% 40%,#fbfcfd,#eef1f5 60%,#dfe4eb)}
.zf-fog{position:absolute;inset:-10%;pointer-events:none;z-index:2}
.zf-fog i{position:absolute;width:1100px;height:520px;border-radius:50%;background:radial-gradient(closest-side,#ffffffd9,#ffffff00);filter:blur(8px)}
.zf-fog i:nth-child(1){left:-10%;top:5%}.zf-fog i:nth-child(2){left:40%;top:30%}.zf-fog i:nth-child(3){left:5%;top:60%}.zf-fog i:nth-child(4){left:55%;top:70%}
.zf-cw{position:absolute;z-index:1;font:500 46px 'DM Mono',monospace;letter-spacing:.12em;color:#27293066;white-space:nowrap}
.zf-cw.is-read{color:var(--gr)}
.zf-lens{position:absolute;z-index:4;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:radial-gradient(circle,#ffffff33 55%,#ffffff99 70%,#ffffffee);box-shadow:inset 0 0 0 2px #ffffffcc,0 30px 60px -20px #29426088,inset 0 -18px 30px -10px #294b7533;display:grid;place-items:center;backdrop-filter:blur(.5px)}
.zf-lens::after{content:'';position:absolute;right:-56px;bottom:-56px;width:90px;height:16px;border-radius:10px;background:#c9d2de;transform:rotate(45deg);transform-origin:left center;box-shadow:0 6px 14px -6px #0004}
.zf-lens i{width:8px;height:8px;border-radius:50%;background:var(--az)}
.zf-lens span{position:absolute;bottom:52px;font:500 13px 'DM Mono',monospace;letter-spacing:.16em;color:var(--az)}
.zf-s3-card{position:absolute;left:70px;bottom:70px;width:560px;z-index:5;background:#ffffffe6;border:1px solid #d5dbe4;padding:28px 30px;box-shadow:0 30px 60px -36px #27293088}
.zf-s3-card small{font:500 15px 'DM Mono',monospace;letter-spacing:.12em;color:#62666f}
.zf-s3-card strong{display:block;font-size:44px;font-weight:700;letter-spacing:-.03em;margin:10px 0}
.zf-s3-card strong em{font-family:var(--serif);font-weight:400;color:var(--az)}
.zf-s3-card p{font-size:20px;line-height:1.5;color:#4a4d55}
.zf-found{position:absolute;right:70px;top:70px;z-index:5;background:var(--gr);color:var(--pa);padding:20px 26px;display:flex;flex-direction:column;gap:6px;opacity:0}
.zf-found small{font:500 14px 'DM Mono',monospace;letter-spacing:.16em;color:#a9c3e6}.zf-found b{font:500 40px 'DM Mono',monospace;letter-spacing:.12em}
.zf-v .zf-cw{font-size:40px}
.zf-v .zf-s3-card{left:50px;right:50px;width:auto;top:110px;bottom:auto}
.zf-v .zf-found{right:50px;top:auto;bottom:90px}

/* S4 · Contexto */
.zf-s4-copy{position:absolute;left:120px;top:200px;width:700px}
.zf-s4-copy .zf-h2{margin-top:22px}
.zf-s4-copy p{margin-top:26px;font-size:28px;line-height:1.45;color:#4a4d55}
.zf-chips{display:flex;gap:10px;margin-top:30px}
.zf-chips span{padding:12px 22px;border-radius:30px;background:var(--ar);font-size:21px;font-weight:600;color:var(--az)}
.zf-chips span:first-child{background:var(--az);color:var(--pa)}
.zf-ctx{position:absolute;right:120px;top:190px;width:860px;height:640px;background:#fff;border:1px solid #d5dbe4;box-shadow:0 40px 80px -46px #27293099;padding:40px;overflow:hidden}
.zf-ctx-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.zf-ctx-top>small,.zf-ctx-a>small,.zf-ctx-b>small,.zf-q small{font:500 15px 'DM Mono',monospace;letter-spacing:.14em;color:#62666f}
.zf-seg{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--ar);padding:5px;border-radius:12px;width:430px}
.zf-seg span{position:relative;z-index:1;text-align:center;padding:12px;font-size:19px;font-weight:600;color:#62666f}
.zf-seg span.on{color:var(--gr)}
.zf-seg i{position:absolute;left:5px;top:5px;bottom:5px;width:calc(50% - 5px);background:#fff;border-radius:9px;box-shadow:0 4px 10px -4px #0002}
.zf-ctx-a,.zf-ctx-b{position:absolute;left:40px;right:40px;top:150px}
.zf-ctx-a blockquote{font:400 italic 92px/1 var(--serif);letter-spacing:-.02em;margin:26px 0 30px;color:var(--gr)}
.zf-ctx-a p{font-size:24px;line-height:1.5;color:#4a4d55;max-width:28em}
.zf-ctx-b{opacity:0}
.zf-tl{display:flex;align-items:center;gap:20px;margin:40px 0}
.zf-tl>div{display:flex;flex-direction:column;gap:6px;padding:20px 24px;border:1px solid #d5dbe4;background:var(--pa)}
.zf-tl b{font:500 48px 'DM Mono',monospace;color:var(--az)}.zf-tl span{font-size:20px;font-weight:600}
.zf-tl i{position:relative;flex:1;height:3px;background:var(--az);transform-origin:left}
.zf-tl i em{position:absolute;left:50%;top:-44px;transform:translateX(-50%);font:500 18px 'DM Mono',monospace;font-style:normal;color:var(--az);white-space:nowrap}
.zf-q{font:400 italic 52px/1.1 var(--serif);opacity:0;padding-top:30px;border-top:1px solid #d5dbe4}
.zf-q small{display:block;font-style:normal;margin-bottom:14px}
.zf-v .zf-s4-copy{left:80px;top:110px;width:920px}
.zf-v .zf-ctx{left:60px;right:60px;width:auto;top:900px;height:900px}
.zf-v .zf-seg{width:390px}

/* S5 · Relacionar */
.zf-s5-copy{position:absolute;left:120px;top:110px;width:720px}
.zf-s5-copy .zf-h2{margin-top:22px}
.zf-s5-copy p{margin-top:24px;font-size:26px;line-height:1.45;opacity:.85}
.zf-field{position:absolute;left:820px;top:150px;width:1000px;height:640px}
.zf-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.zf-links path{fill:none;stroke:#a9c3e6;stroke-width:2.5;vector-effect:non-scaling-stroke}
.zf-links .zf-dash{stroke:#F6F7F8;stroke-dasharray:6 8}
.zf-node{position:absolute;display:flex;flex-direction:column;gap:6px;padding:16px 20px;background:#F6F7F8;color:var(--gr);min-width:200px;box-shadow:0 20px 40px -20px #000a}
.zf-node small{font:500 13px 'DM Mono',monospace;letter-spacing:.12em;color:#62666f}
.zf-node b{font-size:30px;font-weight:700;letter-spacing:-.02em}
.zf-node.is-b{background:#d7e3f3}
.zf-gap{position:absolute;left:50%;top:40px;font:500 20px 'DM Mono',monospace;color:#F6F7F8;background:#294B75;padding:8px 14px;border:1px solid #a9c3e6;opacity:0}
.zf-s5-foot{position:absolute;left:120px;bottom:90px;font-size:38px;font-weight:600;letter-spacing:-.02em}
.zf-v .zf-s5-copy{left:80px;width:920px}
.zf-v .zf-field{left:40px;top:760px;width:1000px;height:760px}
.zf-v .zf-node{min-width:170px;padding:14px 16px}.zf-v .zf-node b{font-size:26px}
.zf-v .zf-s5-foot{left:80px;right:80px;bottom:110px}

/* S6 · Puzle */
.zf-s6-copy{position:absolute;left:120px;top:150px;width:720px}
.zf-s6-copy .zf-h2{margin-top:22px}
.zf-s6-copy p{margin-top:24px;font-size:26px;line-height:1.45;color:#4a4d55}
.zf-counter{display:inline-block;margin-top:28px;font:500 22px 'DM Mono',monospace;color:var(--az);padding:10px 16px;border:1px solid #c5d0de}
.zf-board{position:absolute;left:900px;top:130px;width:900px;height:820px}
.zf-slots{position:absolute;right:0;top:0;width:520px;display:grid;gap:14px}
.zf-slot{height:180px;border:2px dashed #b9c4d3;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;padding:16px 20px;background:#ffffff80}
.zf-slot small{font:500 15px 'DM Mono',monospace;color:#62666f}.zf-slot span{font-size:20px;color:#62666f}
.zf-piece{position:absolute;right:20px;width:480px;height:156px;top:calc(var(--slot) * 194px + 12px);background:#fff;border:1px solid #c5d0de;border-left:6px solid var(--az);box-shadow:0 24px 40px -24px #27293099;padding:18px 24px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 20px;align-content:center}
.zf-piece b{grid-row:1/3;font:500 48px 'DM Mono',monospace;color:var(--az);align-self:center}
.zf-piece strong{font-size:30px;font-weight:700}.zf-piece small{font-size:19px;color:#62666f}
.zf-piece[data-p="0"]{--sx:-420px;--sy:430px}.zf-piece[data-p="1"]{--sx:-460px;--sy:90px}.zf-piece[data-p="2"]{--sx:-440px;--sy:-120px}.zf-piece[data-p="3"]{--sx:-420px;--sy:-420px}
.zf-stamp{position:absolute;left:30px;top:320px;width:300px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--az);border:3px solid var(--az);padding:24px;background:#F6F7F8f0;opacity:0}
.zf-stamp .zf-z{width:110px;height:110px}.zf-stamp span{font:500 18px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.zf-v .zf-s6-copy{left:80px;top:110px;width:920px}
.zf-v .zf-board{left:60px;top:860px;width:960px;height:960px}
.zf-v .zf-slots{width:560px}.zf-v .zf-piece{width:520px}
.zf-v .zf-piece[data-p="0"]{--sx:-380px;--sy:500px}.zf-v .zf-piece[data-p="1"]{--sx:-400px;--sy:300px}.zf-v .zf-piece[data-p="2"]{--sx:-390px;--sy:100px}.zf-v .zf-piece[data-p="3"]{--sx:-380px;--sy:-200px}
.zf-v .zf-stamp{top:auto;bottom:0}

/* S7 · Método */
.zf-s7-copy{position:absolute;left:120px;top:110px;width:900px}
.zf-s7-copy .zf-h2{margin-top:22px}
.zf-method{position:absolute;left:120px;right:120px;top:440px;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.zf-method li{position:relative;padding:26px 24px 30px;border:1px solid #d5dbe4;background:#fff;display:flex;flex-direction:column;gap:8px}
.zf-method b{font:500 18px 'DM Mono',monospace;color:var(--az)}
.zf-method strong{font-size:34px;font-weight:700;letter-spacing:-.02em}
.zf-method span{font-size:20px;color:#62666f}
.zf-method i{position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--az);transform:scaleX(0);transform-origin:left}
.zf-method li.on{background:var(--gr);color:var(--pa)}.zf-method li.on span{color:#c9cdd6}.zf-method li.on b{color:#a9c3e6}
.zf-method li.on i,.zf-method li.done i{transform:scaleX(1)}
.zf-scope{position:absolute;left:120px;right:120px;bottom:90px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px 40px;padding:28px 32px;background:var(--ar);border:1px solid #d5dbe4}
.zf-tabs{display:flex;gap:6px;grid-row:1/3}
.zf-tabs span{padding:14px 20px;font-size:19px;font-weight:600;border:1px solid #c5d0de;background:#fff;color:#62666f}
.zf-tabs span.on{background:var(--az);color:var(--pa);border-color:var(--az)}
.zf-scope small{font:500 14px 'DM Mono',monospace;letter-spacing:.14em;color:#62666f}
.zf-scope strong{font:400 italic 36px/1.15 var(--serif)}
.zf-zones{grid-row:1/3;grid-column:3;display:flex;gap:10px}
.zf-zones span{display:flex;align-items:baseline;gap:8px;padding:12px 18px;background:var(--gr);color:var(--pa);font-size:20px;font-weight:600}
.zf-zones b{font:500 16px 'DM Mono',monospace;color:#a9c3e6}
.zf-v .zf-s7-copy{left:80px;width:920px}
.zf-v .zf-method{left:60px;right:60px;top:430px;grid-template-columns:1fr 1fr}
.zf-v .zf-scope{left:60px;right:60px;grid-template-columns:1fr;bottom:110px}
.zf-v .zf-tabs,.zf-v .zf-zones{grid-row:auto;grid-column:auto}

/* S8 · Cierre */
.zf-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}
.zf-end-z{width:200px;height:200px;color:var(--pa)}.zf-end-z .zf-z-frame{stroke-width:2.4}
.zf-end-word{font:400 64px/1 var(--serif);letter-spacing:-.02em;margin-top:-6px}
.zf-end-line{margin-top:30px;font-weight:700;font-size:108px;line-height:.98;letter-spacing:-.05em}
.zf-end-sign{display:flex;gap:44px;margin-top:20px;font:500 20px 'DM Mono',monospace;letter-spacing:.12em;opacity:.75}
.zf-end-sign b{font-weight:500}
.zf-v .zf-end-line{font-size:100px}.zf-v .zf-end-sign{flex-direction:column;gap:12px}
.zf-v .zf-ctx{height:720px;top:960px}
.zf-v .zf-method{top:520px;gap:20px}.zf-v .zf-method li{min-height:260px;padding:34px 30px;justify-content:flex-end}.zf-v .zf-method strong{font-size:40px}
.zf-v .zf-scope{bottom:150px;padding:36px}.zf-v .zf-scope strong{font-size:44px}
.zf-v .zf-field{transform:scale(1.08);transform-origin:50% 0}
/* Contraste del rótulo de nodo sobre el azul claro */
.zf-node small{color:#50545c}
