/* PISABEN — película del caso. Lienzo fijo (1920×1080 o 1080×1920) escalado al contenedor. */
.cf-film{position:relative;width:100%}
.cf-screen{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#0f4653;border-radius:6px;box-shadow:0 40px 90px -50px #0b2f38cc;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:#0b2f38}
.cf-play{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#0f4653;color:#efebe3;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:#5b7076;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:#0b2f38}
.cf-chapters i{display:block;height:3px;background:#0f46531f;border-radius:2px;overflow:hidden}
.cf-chapters b{display:block;height:100%;width:calc(var(--p,0) * 100%);background:#0f4653}
.cf-time{flex:none;font:500 12px 'DM Mono',monospace;color:#5b7076;min-width:3.4em;text-align:right}
@media (max-width:719px){.cf-chapters button span{font-size:0;margin:0}.cf-chapters{gap:4px}.cf-screen{border-radius:4px}}

/* ---------- lienzo ---------- */
.pf-canvas{--t:#0f4653;--td:#0b2f38;--p:#efebe3;--p2:#e4ded2;--gold:#e8c87a;position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden;background:var(--p);font-family:'DM Sans',Arial,sans-serif;color:var(--t);-webkit-font-smoothing:antialiased}
.pf-canvas *{box-sizing:border-box;margin:0}
.pf-scene{position:absolute;inset:0;visibility:hidden;overflow:hidden;background:var(--p)}
.pf-dark{background:var(--t);color:var(--p)}
.pf-ic{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pf-word,.pf-mark{display:block;overflow:visible}
.pf-word path,.pf-mark path{fill:currentColor;transform-box:fill-box;transform-origin:50% 100%}
.pf-toe{transform-origin:50% 50%!important}
.pf-demo-note{position:absolute;right:36px;bottom:26px;z-index:60;font:500 15px 'DM Mono',monospace;letter-spacing:.06em;color:#5b7076;background:#efebe3d9;padding:6px 12px;border-radius:30px;opacity:0}
.pf-copy{position:absolute;left:150px;top:300px;width:720px;z-index:3}
.pf-kick{font:500 20px 'DM Mono',monospace;letter-spacing:.2em;opacity:.7}
.pf-h{margin-top:22px!important;font-size:104px;line-height:.98;letter-spacing:-.045em;font-weight:700}
.pf-h em{font-style:normal;color:var(--t2,#2f7480)}
.pf-dark .pf-h em{color:var(--gold)}
.pf-l{display:block;overflow:hidden;padding-bottom:.06em}.pf-l>span{display:block}
.pf-p{margin-top:30px!important;font-size:32px;line-height:1.4;max-width:620px;opacity:.82}

/* S1 · marca */
.pf-cut{position:absolute;display:block;background:var(--t);border-radius:50%}
.pf-cut.c1{width:900px;height:1140px;left:-560px;top:-640px}
.pf-cut.c2{width:820px;height:1040px;right:-300px;bottom:-640px}
.pf-cut.c3{width:200px;height:250px;right:140px;top:70px;transform-origin:50% 50%;border-radius:50%;background:var(--t);rotate:22deg}
.pf-s1-word{position:absolute;left:50%;top:50%;width:1220px;margin:-180px 0 0 -610px;color:var(--t)}
.pf-tag{position:absolute;left:50%;top:calc(50% + 230px);transform:translateX(-50%);text-align:center;font:600 26px 'DM Sans',sans-serif;letter-spacing:.32em;line-height:1.6}

/* S2 · la huella */
.pf-s2-mark{position:absolute;right:170px;top:120px;width:640px;color:var(--p)}
.pf-num{position:absolute;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--td);font:700 26px 'DM Sans',sans-serif}
.pf-num[style*="--n:0"]{left:2%;top:-2%}.pf-num[style*="--n:1"]{left:30%;top:-4%}.pf-num[style*="--n:2"]{left:52%;top:4%}.pf-num[style*="--n:3"]{left:72%;top:13%}.pf-num[style*="--n:4"]{left:92%;top:30%}
.pf-s2 .pf-copy{top:330px}
.pf-s4 .pf-copy{top:200px}

/* teléfonos */
.pf-phone{--ph:translate(0,0);position:absolute;right:250px;top:80px;width:470px;height:920px;padding:16px;border-radius:64px;background:var(--td);box-shadow:0 60px 120px -40px #0b2f38aa,inset 0 0 0 3px #ffffff1a;transform:var(--ph)}
.pf-screen{position:relative;height:100%;border-radius:50px;overflow:hidden;background:var(--p);color:var(--t);padding:44px 28px 28px;display:flex;flex-direction:column;gap:20px}
.pf-w-top{display:flex;justify-content:space-between;align-items:center}.pf-w-top .pf-word{width:150px}.pf-w-top i{width:34px;height:4px;border-radius:4px;background:var(--t);box-shadow:0 10px 0 var(--t)}
.pf-w-hero{position:relative;overflow:hidden;border-radius:30px;background:var(--t);color:var(--p);padding:40px 28px 30px;display:grid;gap:10px}
.pf-w-cut{position:absolute;right:-90px;top:-70px;width:250px;height:310px;border-radius:50%;background:#2f7480;rotate:24deg}
.pf-w-hero b{position:relative;font-size:46px;line-height:1;letter-spacing:-.03em}
.pf-w-hero span{position:relative;font:500 18px 'DM Mono',monospace;letter-spacing:.1em;opacity:.8}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;justify-self:start;margin-top:10px;height:66px;padding:0 30px;border:0;border-radius:40px;background:var(--p);color:var(--t);font:700 24px 'DM Sans',sans-serif}
.pf-btn.is-wide{width:100%;margin-top:auto;background:var(--t);color:var(--p)}
.pf-w-towns{overflow:hidden;margin:0 -28px}
.pf-w-track{display:flex;gap:10px;width:max-content;padding:0 28px}
.pf-w-track span{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 20px;border-radius:30px;background:#fff;font:600 20px 'DM Sans',sans-serif;white-space:nowrap;box-shadow:0 8px 20px -14px #0b2f3866}
.pf-w-row{display:grid;gap:4px;padding:24px;border-radius:24px;background:#fff}.pf-w-row b{font-size:26px}.pf-w-row small{font-size:19px;opacity:.7}
.pf-towns-big{position:absolute;left:150px;bottom:110px;width:820px;display:flex;flex-wrap:wrap;gap:12px}
.pf-towns-big span{padding:12px 24px;border-radius:40px;border:2px solid #0f465333;font:600 26px 'DM Sans',sans-serif}

/* S4 · reserva */
.pf-book{gap:22px}
.pf-b-step>span{display:block;margin-bottom:12px;font:500 16px 'DM Mono',monospace;letter-spacing:.14em;opacity:.65}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px}.pf-chips i{font-style:normal;padding:12px 18px;border-radius:30px;background:#fff;font:600 19px 'DM Sans',sans-serif}
.pf-days{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pf-days i{display:grid;justify-items:center;gap:2px;padding:10px 0;border-radius:18px;background:#fff;font:700 24px 'DM Sans',sans-serif;font-style:normal}
.pf-days small{font:500 14px 'DM Mono',monospace;opacity:.6}
.pf-days i.is-full{opacity:.35;text-decoration:line-through}
.pf-turns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-turns i{display:grid;justify-items:start;gap:4px;padding:18px;border-radius:22px;background:#fff;border:2px solid #0f465326;font-style:normal}
.pf-turns .pf-ic{font-size:30px}.pf-turns b{font-size:24px}.pf-turns small{font-size:17px;opacity:.7}
.pf-turns i.is-taken{opacity:.45;background:transparent;border-style:dashed}
.pf-ok{position:absolute;left:16px;right:16px;bottom:16px;padding:28px;border-radius:34px;background:var(--t);color:var(--p);display:grid;gap:6px;z-index:2}
.pf-ok .pf-ic{font-size:44px;padding:8px;border-radius:50%;background:var(--gold);color:var(--td)}.pf-ok b{font-size:32px}.pf-ok small{font-size:19px;opacity:.85;line-height:1.35}
.pf-lockcard{position:absolute;left:150px;bottom:110px;display:flex;align-items:center;gap:20px;padding:24px 30px;border-radius:28px;background:var(--t);color:var(--p);box-shadow:0 30px 60px -30px #0b2f38}
.pf-lockcard .pf-ic{font-size:44px;color:var(--gold)}.pf-lockcard span{display:grid;gap:4px}.pf-lockcard b{font-size:30px}.pf-lockcard small{font-size:21px;opacity:.8}

/* S5 · app */
.pf-phone.is-app{background:#061f26}
.pf-app{background:#f6f3ed;gap:16px;padding-bottom:110px}
.pf-a-top{display:flex;align-items:center;gap:14px}.pf-a-top .pf-mark{width:46px;color:var(--t)}.pf-a-top b{font-size:40px;letter-spacing:-.03em}.pf-a-top small{margin-left:auto;font:500 17px 'DM Mono',monospace;opacity:.6}
.pf-a-turn{display:flex;align-items:center;gap:16px;padding:20px;border-radius:26px;background:#fff;box-shadow:0 10px 24px -18px #0b2f3866}
.pf-a-turn>i{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#0f465314;font-size:30px;font-style:normal}
.pf-a-turn.is-am>i{background:var(--gold)}
.pf-a-turn span{display:grid;gap:2px;flex:1}.pf-a-turn small{font:500 14px 'DM Mono',monospace;letter-spacing:.12em;opacity:.6}.pf-a-turn b{font-size:22px}.pf-a-turn em{font-style:normal;font-size:17px;opacity:.6}
.pf-a-turn u{text-decoration:none;font:700 15px 'DM Sans',sans-serif;padding:6px 12px;border-radius:20px;background:var(--t);color:var(--p)}
.pf-a-kpis{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
.pf-a-kpis div{padding:20px;border-radius:24px;background:var(--t);color:var(--p);display:grid;gap:4px}
.pf-a-kpis div+div{background:#fff;color:var(--t)}
.pf-a-kpis small{font:500 13px 'DM Mono',monospace;letter-spacing:.1em;opacity:.75}.pf-a-kpis b{font-size:40px;letter-spacing:-.03em}
.pf-a-chart{flex:1;display:flex;align-items:flex-end;gap:10px;padding:20px;border-radius:24px;background:#fff;min-height:160px}
.pf-a-chart i{flex:1;height:var(--h);border-radius:10px 10px 4px 4px;background:linear-gradient(#2f7480,var(--t));transform-origin:bottom}
.pf-a-chart i:last-child{background:var(--gold)}
.pf-a-nav{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-around;padding:16px 10px 26px;background:#fff;border-top:1px solid #0f465314}
.pf-a-nav span{display:grid;justify-items:center;gap:4px;font-size:28px;opacity:.5}.pf-a-nav small{font:600 13px 'DM Sans',sans-serif}.pf-a-nav .is-on{opacity:1}
.pf-paid{position:absolute;left:150px;bottom:150px;display:flex;align-items:center;gap:20px;padding:24px 30px;border-radius:28px;background:var(--p);color:var(--t);box-shadow:0 30px 60px -30px #000}
.pf-paid .pf-ic{font-size:44px;color:#2f7480}.pf-paid span{display:grid;gap:4px}.pf-paid b{font-size:30px}.pf-paid small{font-size:21px;opacity:.75}

/* S6 · sistema */
.pf-tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:250px 150px}
.pf-tile{display:grid;align-content:space-between;padding:44px;border-radius:40px;background:var(--t);color:var(--p)}
.pf-tile:nth-child(2){background:#2f7480}.pf-tile:nth-child(3){background:var(--td)}
.pf-tile small{font:500 22px 'DM Mono',monospace;opacity:.7}.pf-tile b{font-size:76px;letter-spacing:-.04em}.pf-tile span{font-size:28px;line-height:1.35;opacity:.85}
.pf-end{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:40px;text-align:center;opacity:0}
.pf-end .pf-word{width:1000px}
.pf-end-line{font-size:54px;line-height:1.15;letter-spacing:-.02em;font-weight:600}.pf-end-line em{font-style:normal;color:#2f7480}
.pf-end-sign{font:500 22px 'DM Mono',monospace;letter-spacing:.24em;opacity:.65}

/* ---------- vertical (móvil) ---------- */
.pf-canvas.is-v .pf-copy{left:90px;top:150px;width:900px}
.pf-canvas.is-v .pf-s4 .pf-copy{top:110px}.pf-canvas.is-v .pf-s4 .pf-p,.pf-canvas.is-v .pf-s5 .pf-p,.pf-canvas.is-v .pf-s3 .pf-p{display:none}
.pf-canvas.is-v .pf-h{font-size:110px}.pf-canvas.is-v .pf-p{font-size:38px;max-width:880px}
.pf-canvas.is-v .pf-s1-word{width:900px;margin:-150px 0 0 -450px}
.pf-canvas.is-v .pf-cut.c1{left:-520px;top:-500px}.pf-canvas.is-v .pf-cut.c2{right:-460px;bottom:-560px}.pf-canvas.is-v .pf-cut.c3{right:60px;top:240px}
.pf-canvas.is-v .pf-tag{top:calc(50% + 200px);font-size:30px}
.pf-canvas.is-v .pf-s2-mark{left:50%;right:auto;top:auto;bottom:160px;width:640px;margin-left:-320px}
.pf-canvas.is-v .pf-s2 .pf-copy{top:150px}
.pf-canvas.is-v .pf-phone{right:auto;left:50%;top:720px;margin-left:-260px;width:520px;height:1020px}
.pf-canvas.is-v .pf-s3 .pf-towns-big{display:none}
.pf-canvas.is-v .pf-lockcard,.pf-canvas.is-v .pf-paid{left:90px;right:90px;bottom:70px}
.pf-canvas.is-v .pf-tiles{grid-template-columns:1fr;padding:200px 120px}
.pf-canvas.is-v .pf-tile b{font-size:80px}
.pf-canvas.is-v .pf-end .pf-word{width:880px}
.pf-canvas.is-v .pf-end-line{font-size:60px}
