motiondesk-studio 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +9 -4
  2. package/app/assets/bank-banker-chat-B_iF_sFM.js +257 -0
  3. package/app/assets/bank-business-loan-BFWWaq-c.js +247 -0
  4. package/app/assets/bank-car-choice-DLE2OVcc.js +229 -0
  5. package/app/assets/bank-card-freeze-J1JfFmLr.js +281 -0
  6. package/app/assets/bank-code-never-CQDlq8GN.js +234 -0
  7. package/app/assets/bank-dark-interlude-DhcdkPP1.js +190 -0
  8. package/app/assets/bank-digital-JTuIxFOJ.js +1 -0
  9. package/app/assets/bank-dinner-split-Be1e7DOQ.js +246 -0
  10. package/app/assets/bank-fast-pay-DoW0ClI6.js +230 -0
  11. package/app/assets/bank-first-salary-D9WxYgJf.js +212 -0
  12. package/app/assets/bank-fomo-stop-uEzdT0HP.js +230 -0
  13. package/app/assets/bank-forex-trip-BHW39y4z.js +205 -0
  14. package/app/assets/bank-growth-bars-DirAz4xB.js +203 -0
  15. package/app/assets/bank-holiday-budget-J41dLHwR.js +224 -0
  16. package/app/assets/bank-invest-B--KJb5m.js +1 -0
  17. package/app/assets/bank-life-C-4wZKyu.js +1 -0
  18. package/app/assets/bank-mortgage-papers-DMtx0XsI.js +214 -0
  19. package/app/assets/bank-new-app-look-CKmeKBU6.js +228 -0
  20. package/app/assets/bank-one-click-loan-BVhe1AGv.js +223 -0
  21. package/app/assets/bank-paper-explainer-CD8mPtnJ.js +191 -0
  22. package/app/assets/bank-pension-compare-BArvoVu7.js +243 -0
  23. package/app/assets/bank-remote-access-Df8UNpc7.js +257 -0
  24. package/app/assets/bank-safety-CBkr-iwJ.js +1 -0
  25. package/app/assets/bank-savings-pocket-B53nO1Z_.js +220 -0
  26. package/app/assets/bank-share-explained-DCp805RD.js +228 -0
  27. package/app/assets/bank-small-business-Bc7Ad4GW.js +217 -0
  28. package/app/assets/bank-student-routine-CnPPhtoV.js +224 -0
  29. package/app/assets/bank-suspicious-sms-CwOrdi3d.js +229 -0
  30. package/app/assets/bank-wedding-budget-CDM2kO0R.js +230 -0
  31. package/app/assets/bank-young-BwV6418l.js +1 -0
  32. package/app/assets/{catalog-Cdx5nbp0.js → catalog-CDdvrdnk.js} +1 -1
  33. package/app/assets/{index-D3rEDfqX.js → index-BRse9TUl.js} +4 -4
  34. package/app/assets/index-b6-Cm4vot4j.js +1 -0
  35. package/app/assets/index-b7-BLEay8YC.js +1 -0
  36. package/app/assets/index-b8-Jbh-zOZB.js +1 -0
  37. package/app/assets/index-b9-caOB8GyX.js +1 -0
  38. package/app/index.html +1 -1
  39. package/bin/motiondesk-studio.mjs +8 -1
  40. package/lib/catalog/hyperframes/bank-banker-chat.html +256 -0
  41. package/lib/catalog/hyperframes/bank-business-loan.html +246 -0
  42. package/lib/catalog/hyperframes/bank-car-choice.html +228 -0
  43. package/lib/catalog/hyperframes/bank-card-freeze.html +280 -0
  44. package/lib/catalog/hyperframes/bank-code-never.html +233 -0
  45. package/lib/catalog/hyperframes/bank-dark-interlude.html +189 -0
  46. package/lib/catalog/hyperframes/bank-dinner-split.html +245 -0
  47. package/lib/catalog/hyperframes/bank-fast-pay.html +229 -0
  48. package/lib/catalog/hyperframes/bank-first-salary.html +211 -0
  49. package/lib/catalog/hyperframes/bank-fomo-stop.html +229 -0
  50. package/lib/catalog/hyperframes/bank-forex-trip.html +204 -0
  51. package/lib/catalog/hyperframes/bank-growth-bars.html +202 -0
  52. package/lib/catalog/hyperframes/bank-holiday-budget.html +223 -0
  53. package/lib/catalog/hyperframes/bank-mortgage-papers.html +213 -0
  54. package/lib/catalog/hyperframes/bank-new-app-look.html +227 -0
  55. package/lib/catalog/hyperframes/bank-one-click-loan.html +222 -0
  56. package/lib/catalog/hyperframes/bank-paper-explainer.html +190 -0
  57. package/lib/catalog/hyperframes/bank-pension-compare.html +242 -0
  58. package/lib/catalog/hyperframes/bank-remote-access.html +256 -0
  59. package/lib/catalog/hyperframes/bank-savings-pocket.html +219 -0
  60. package/lib/catalog/hyperframes/bank-share-explained.html +227 -0
  61. package/lib/catalog/hyperframes/bank-small-business.html +216 -0
  62. package/lib/catalog/hyperframes/bank-student-routine.html +223 -0
  63. package/lib/catalog/hyperframes/bank-suspicious-sms.html +228 -0
  64. package/lib/catalog/hyperframes/bank-wedding-budget.html +229 -0
  65. package/lib/catalog/hyperframes/index-b6.json +146 -0
  66. package/lib/catalog/hyperframes/index-b7.json +121 -0
  67. package/lib/catalog/hyperframes/index-b8.json +92 -0
  68. package/lib/catalog/hyperframes/index-b9.json +87 -0
  69. package/lib/catalog/studio/bank-digital.json +3586 -0
  70. package/lib/catalog/studio/bank-invest.json +3653 -0
  71. package/lib/catalog/studio/bank-life.json +3605 -0
  72. package/lib/catalog/studio/bank-safety.json +3198 -0
  73. package/lib/catalog/studio/bank-young.json +3426 -0
  74. package/lib/vercel-render.mjs +16 -1
  75. package/package.json +30 -7
@@ -0,0 +1,256 @@
1
+ <!doctype html>
2
+ <html lang="he" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=1920, height=1080">
6
+ <title>גישה מרחוק? מנתקים</title>
7
+ <script src="vendor/gsap.min.js"></script>
8
+ <style>
9
+ @font-face{font-family:"Heebo";font-weight:400;src:url(fonts/heebo-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
10
+ @font-face{font-family:"Heebo";font-weight:400;src:url(fonts/heebo-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
11
+ @font-face{font-family:"Heebo";font-weight:700;src:url(fonts/heebo-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
12
+ @font-face{font-family:"Heebo";font-weight:700;src:url(fonts/heebo-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
13
+ :root{--paper:#F4F4F2;--card:#FFFFFF;--ink:#141A26;--accent:#E3063B;--mute:#B4B8C0;--glow:#FF3B5C}
14
+ *{box-sizing:border-box;margin:0;padding:0}
15
+ html,body{width:1920px;height:1080px;overflow:hidden;background:var(--bg)}
16
+ body{font-family:"Heebo",Arial,sans-serif;-webkit-font-smoothing:antialiased}
17
+ #root{position:relative;width:1920px;height:1080px;overflow:hidden;background:var(--bg);color:var(--fg);direction:rtl;font-family:"Heebo",Arial,sans-serif}
18
+ .scene{position:absolute;inset:0;overflow:hidden}
19
+ .cam,.layer{position:absolute;inset:0}
20
+ .abs{position:absolute}
21
+ .m{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .05em .08em}
22
+ .w{display:inline-block;white-space:nowrap}
23
+ #root{background:radial-gradient(ellipse at 72% 18%,var(--card),var(--paper) 62%)}
24
+ .t{position:absolute;white-space:nowrap;line-height:1.15;color:var(--ink)}
25
+ .b{font-weight:700}
26
+ .bgl{position:absolute;height:2px;width:1400px;background:color-mix(in srgb,var(--ink) 7%,transparent);transform-origin:0 0}
27
+ .ov{position:absolute;inset:0;pointer-events:none}
28
+ .ov>*{pointer-events:auto}
29
+ .brand{position:absolute;top:38px;right:44px;display:flex;align-items:center;gap:12px;height:57.2px;padding:0 26px;border-radius:28.6px;background:var(--card);box-shadow:0 6px 20px color-mix(in srgb,var(--ink) 14%,transparent)}
30
+ .brand i{width:15.6px;height:15.6px;border-radius:3px;background:var(--accent);flex:none}
31
+ .brand p{font-size:26px;font-weight:700;color:var(--ink);white-space:nowrap}
32
+ .ltw{position:absolute;left:0;right:0;display:flex;justify-content:center}
33
+ .lt{display:flex;align-items:center;gap:12.8px;height:88px;padding:0 34px;border-radius:14px;background:var(--card);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 16%,transparent)}
34
+ .lt .mk{width:16.8px;height:16.8px;border-radius:3px;background:var(--accent);flex:none}
35
+ .lt p{font-size:40px;white-space:nowrap;color:var(--ink);line-height:1.2}
36
+ .lt .em{font-weight:700;color:var(--accent)}
37
+ .lt .cu{width:12px;height:42px;background:var(--ink);flex:none}
38
+ .card{position:absolute;background:var(--card);border-radius:10px;box-shadow:0 20px 48px color-mix(in srgb,var(--ink) 16%,transparent)}
39
+ .tape{position:absolute;width:140px;height:36px;background:var(--accent);box-shadow:0 3px 8px color-mix(in srgb,var(--ink) 18%,transparent)}
40
+ .tape::after{content:"";position:absolute;left:44%;top:12px;width:12px;height:12px;background:color-mix(in srgb,var(--card) 85%,var(--accent))}
41
+ .lab{position:absolute;padding:2px .55em 8px;font-weight:700;white-space:nowrap;line-height:1.2;box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 14%,transparent)}
42
+ .lab.r{background:var(--accent);color:var(--card)}
43
+ .lab.w{background:var(--card);color:var(--ink)}
44
+ .lab.k{background:var(--ink);color:var(--card)}
45
+ .hw{position:absolute;white-space:nowrap}
46
+ .hw p{position:relative;line-height:1.15;color:var(--ink)}
47
+ .hl{position:absolute;left:-12px;right:-12px;bottom:10%;height:34%;background:color-mix(in srgb,var(--accent) 26%,transparent);transform-origin:100% 50%}
48
+ .ul{position:absolute;left:-6px;right:-6px;bottom:-6px;height:7px;border-radius:4px;background:var(--accent);transform-origin:100% 50%}
49
+ .cx{position:absolute;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:26px;white-space:nowrap}
50
+ .cx .hw{position:relative}
51
+ .cx>p{color:var(--ink);line-height:1.15}
52
+ .ln{position:absolute;height:14px;border-radius:7px;background:color-mix(in srgb,var(--mute) 50%,var(--card))}
53
+ .win{position:absolute;background:var(--card);border-radius:14px;overflow:hidden;box-shadow:0 20px 48px color-mix(in srgb,var(--ink) 16%,transparent)}
54
+ .win>.wb{position:absolute;left:0;right:0;top:0;height:44px;background:var(--ink)}
55
+ .win>.wb::before{content:"";position:absolute;left:18px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--mute);box-shadow:20px 0 0 var(--mute),40px 0 0 var(--mute)}
56
+ .pill{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent)}
57
+ .pill p{color:var(--card);font-weight:700;white-space:nowrap}
58
+ .chip{position:absolute;display:flex;align-items:center;gap:12px;padding:0 26px;border-radius:999px;background:var(--card);box-shadow:0 10px 26px color-mix(in srgb,var(--ink) 14%,transparent)}
59
+ .chip i{width:14px;height:14px;border-radius:3px;background:var(--accent);flex:none}
60
+ .chip p{font-weight:700;white-space:nowrap;color:var(--ink)}
61
+ .fine{position:absolute;white-space:nowrap;color:color-mix(in srgb,var(--ink) 55%,var(--paper))}
62
+ .dk{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--ink) 80%,var(--glow) 8%),var(--ink) 70%)}
63
+ .glw{position:absolute;background:var(--glow);box-shadow:0 0 60px 6px color-mix(in srgb,var(--glow) 70%,transparent),0 0 180px 40px color-mix(in srgb,var(--glow) 32%,transparent)}
64
+ .fig{position:absolute}
65
+ .fig .h{position:absolute;border-radius:50%}
66
+ .fig .bd{position:absolute;border-radius:48% 48% 14px 14px / 38% 38% 14px 14px}
67
+ .ck{fill:none;stroke:var(--card);stroke-linecap:round;stroke-linejoin:round}
68
+
69
+ .gr{color:color-mix(in srgb,var(--ink) 58%,var(--card))}
70
+ .c2{left:0;right:0;text-align:center}
71
+ .lap{position:absolute;left:520px;top:270px;width:880px;height:520px;border-radius:26px;background:var(--ink);box-shadow:0 26px 60px color-mix(in srgb,var(--ink) 24%,transparent)}
72
+ .lap>.sc{position:absolute;inset:18px;border-radius:10px;background:var(--paper);overflow:hidden}
73
+ .lapb{position:absolute;left:430px;top:780px;width:1060px;height:36px;border-radius:4px 4px 24px 24px;background:color-mix(in srgb,var(--mute) 70%,var(--ink))}
74
+ .lapb::after{content:"";position:absolute;left:470px;top:0;width:120px;height:10px;border-radius:0 0 8px 8px;background:color-mix(in srgb,var(--ink) 40%,var(--mute))}
75
+ .dic{position:absolute;width:64px;height:64px;border-radius:14px;background:color-mix(in srgb,var(--mute) 45%,var(--card))}
76
+ .cw{position:absolute;left:24px;bottom:22px;width:500px;height:420px;border-radius:18px;background:var(--card);overflow:hidden;box-shadow:0 16px 40px color-mix(in srgb,var(--ink) 22%,transparent)}
77
+ .cwh{position:absolute;left:0;right:0;top:0;height:86px;background:var(--ink)}
78
+ .hs{position:absolute;right:18px;top:13px;width:60px;height:60px;border-radius:50%;background:color-mix(in srgb,var(--mute) 70%,var(--ink))}
79
+ .hs::before{content:"";position:absolute;left:12px;top:10px;width:36px;height:30px;border:6px solid var(--card);border-bottom:0;border-radius:20px 20px 0 0;box-sizing:border-box}
80
+ .hs::after{content:"";position:absolute;left:9px;top:32px;width:42px;height:14px;border-radius:7px;background:var(--card)}
81
+ .wt{color:var(--card)}
82
+ .bb{position:absolute;right:18px;padding:10px 22px 14px;border-radius:22px 6px 22px 22px;background:color-mix(in srgb,var(--mute) 24%,var(--card));font-size:26px;line-height:1.3;white-space:nowrap;color:var(--ink)}
83
+ .ins{position:absolute;left:18px;right:18px;top:262px;height:132px;border-radius:16px;background:color-mix(in srgb,var(--mute) 14%,var(--card));border:3px solid color-mix(in srgb,var(--mute) 40%,var(--card))}
84
+ .apt{position:absolute;right:20px;top:24px;width:80px;height:80px;border-radius:22px;background:var(--ink)}
85
+ .apt::before{content:"";position:absolute;left:16px;top:18px;width:48px;height:34px;border:6px solid var(--card);border-radius:6px;box-sizing:border-box}
86
+ .apt::after{content:"";position:absolute;left:30px;top:56px;width:20px;height:6px;border-radius:3px;background:var(--accent)}
87
+ .ib{position:absolute;left:20px;top:36px;width:130px;height:58px;border-radius:29px;background:var(--accent);display:flex;align-items:center;justify-content:center}
88
+ .ib p{font-size:27px;font-weight:700;color:var(--card);white-space:nowrap}
89
+ .pr{position:absolute;left:12px;top:28px;width:146px;height:74px;border-radius:37px;border:5px solid var(--accent)}
90
+ .mon{position:absolute;left:300px;top:150px;width:1320px;height:720px;border-radius:28px;background:var(--ink);box-shadow:0 30px 70px color-mix(in srgb,var(--ink) 26%,transparent)}
91
+ .mon>.sc{position:absolute;inset:18px;border-radius:12px;background:var(--paper);overflow:hidden}
92
+ .bar{position:absolute;left:0;right:0;top:0;height:90px;background:var(--card);border-bottom:3px solid color-mix(in srgb,var(--mute) 30%,var(--card))}
93
+ .bal{position:absolute;right:40px;top:130px;width:560px;height:210px}
94
+ .tile{position:absolute;top:380px;width:170px;height:160px;border-radius:18px;background:var(--card);box-shadow:0 10px 26px color-mix(in srgb,var(--ink) 10%,transparent)}
95
+ .tile p{position:absolute;left:0;right:0;top:100px;text-align:center;font-size:30px;font-weight:700;color:var(--ink);white-space:nowrap}
96
+ .tic{position:absolute;left:57px;top:26px;width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,var(--card));border:5px solid var(--accent)}
97
+ .thl{position:absolute;inset:-6px;border-radius:22px;border:6px solid var(--accent)}
98
+ .trx{position:absolute;left:40px;top:130px;width:560px;height:520px}
99
+ .cur{position:absolute;left:250px;top:560px;width:64px;height:84px;overflow:visible}
100
+ .cur path{fill:var(--card);stroke:var(--accent);stroke-width:5;stroke-linejoin:round}
101
+ .clk{position:absolute;left:1110px;top:410px;width:90px;height:90px;border-radius:50%;border:6px solid var(--accent)}
102
+ .scrim{position:absolute;inset:0;background:var(--ink)}
103
+ .rf{position:absolute;inset:0;border-radius:12px;border:12px solid var(--accent);box-shadow:inset 0 0 40px color-mix(in srgb,var(--glow) 50%,transparent)}
104
+ .tab{position:absolute;left:342px;top:0;width:600px;height:70px;border-radius:0 0 22px 22px;background:var(--accent);display:flex;align-items:center;justify-content:center;gap:16px}
105
+ .tab i{width:18px;height:18px;border-radius:50%;background:var(--card);flex:none}
106
+ .tab p{font-size:30px;font-weight:700;color:var(--card);white-space:nowrap}
107
+ .nb{position:absolute;left:150px;top:170px;width:1000px;height:690px;border-radius:12px;background:var(--card);overflow:hidden;box-shadow:0 24px 54px color-mix(in srgb,var(--ink) 16%,transparent)}
108
+ .nbh{position:absolute;left:0;right:0;top:0;height:110px;background:var(--accent)}
109
+ .rw{position:absolute;left:50px;right:50px;height:150px;border-bottom:3px dashed color-mix(in srgb,var(--mute) 60%,var(--card))}
110
+ .rn{position:absolute;right:20px;top:24px;width:96px;height:96px;border-radius:50%;border:6px solid var(--accent);font-size:56px;font-weight:700;color:var(--accent);text-align:center;line-height:82px}
111
+ .noi{position:absolute;left:390px;top:470px;width:300px;height:300px}
112
+ .noi .apt{right:60px;top:60px;width:180px;height:180px;border-radius:44px}
113
+ .noi .apt::before{left:36px;top:40px;width:108px;height:78px;border-width:12px;border-radius:12px}
114
+ .noi .apt::after{left:66px;top:126px;width:48px;height:12px;border-radius:6px}
115
+ .noi svg{position:absolute;inset:0;overflow:visible}
116
+ .ns{fill:none;stroke:var(--accent);stroke-width:22;stroke-linecap:round}
117
+ .plg{position:absolute;left:-200px;top:250px;width:1200px;height:200px}
118
+ .cab{position:absolute;left:0;top:86px;width:960px;height:24px;border-radius:12px;background:var(--ink)}
119
+ .pb{position:absolute;left:840px;top:30px;width:200px;height:140px;border-radius:30px;background:var(--accent);box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 34%,transparent)}
120
+ .pg{position:absolute;left:1040px;width:72px;height:24px;border-radius:0 8px 8px 0;background:var(--ink)}
121
+ .sok{position:absolute;left:1080px;top:200px;width:260px;height:300px;border-radius:44px;background:var(--card);box-shadow:0 20px 48px color-mix(in srgb,var(--ink) 16%,transparent)}
122
+ .sok i{position:absolute;left:-8px;width:26px;height:36px;border-radius:8px;background:var(--ink)}
123
+ .spk{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round}
124
+ </style>
125
+ </head>
126
+ <body>
127
+ <div id="root" data-composition-id="bank-remote-access" data-start="0" data-width="1920" data-height="1080" data-duration="16.4">
128
+ <section id="s1" class="clip scene" data-start="0" data-duration="4.2">
129
+ <div class="cam" id="c1">
130
+ <i class="bgl" style="left:-120px;top:980px;transform:rotate(-14deg)"></i>
131
+ <div class="cx" style="top:104px"><p id="h1" style="font-size:80px;font-weight:700">״התמיכה״ ביקשה</p><div class="hw"><i class="hl" id="hl1"></i><p id="h1b" style="font-size:80px;font-weight:700;color:var(--accent)">להתקין אפליקציה?</p></div></div>
132
+ <div class="lapb" id="lapb"></div>
133
+ <div class="lap" id="lap"><div class="sc">
134
+ <i class="dic" style="right:40px;top:36px"></i><i class="dic" style="right:40px;top:126px"></i><i class="dic" style="right:40px;top:216px"></i><i class="dic" style="right:130px;top:36px"></i><i class="dic" style="right:130px;top:126px"></i>
135
+ <div class="cw" id="cw"><div class="cwh"><i class="hs"></i><p class="t b wt" id="cwn" style="right:96px;top:10px;font-size:30px">תמיכה טכנית</p><p class="t wt" id="cws" style="right:96px;top:48px;font-size:22px">מחובר עכשיו</p></div>
136
+ <p class="bb" id="m1" style="top:104px">שלום, זיהינו תקלה במחשב שלכם</p>
137
+ <p class="bb" id="m2" style="top:180px">התקינו אפליקציה ונתקן מרחוק</p>
138
+ <div class="ins" id="ins"><i class="apt"></i><p class="t b" id="ina" style="right:120px;top:22px;font-size:28px">שליטה מרחוק</p><p class="t gr" id="inb" style="right:120px;top:66px;font-size:22px">גישה מלאה למחשב</p><i class="pr" id="pr"></i><div class="ib"><p id="ibt">התקנה</p></div></div>
139
+ </div>
140
+ </div></div>
141
+ <div class="ltw" style="bottom:56px"><div class="lt" id="lt1"><i class="mk"></i><p id="lt1a">נשמע מקצועי?</p><p class="em" id="lt1b">זה בדיוק הטריק</p><i class="cu" id="lt1k"></i></div></div>
142
+ </div>
143
+ </section>
144
+ <section id="s2" class="clip scene" data-start="4.2" data-duration="4.2">
145
+ <div class="cam" id="c2">
146
+ <div class="mon" id="mon"><div class="sc">
147
+ <div class="ui" id="ui">
148
+ <div class="bar"><p class="t b" id="u0" style="right:40px;top:22px;font-size:36px">החשבון שלי</p></div>
149
+ <div class="card bal"><p class="t gr" id="u1" style="right:36px;top:30px;font-size:30px">יתרה בחשבון</p><p class="t b" id="u2" style="right:36px;top:80px;font-size:84px">12,480 ₪</p></div>
150
+ <div class="tile" style="right:40px"><i class="tic"></i><p id="u3">העברה</p><i class="thl" id="thl"></i></div><div class="tile" style="right:230px"><i class="tic"></i><p id="u4">תשלום</p></div><div class="tile" style="right:420px"><i class="tic"></i><p id="u5">הגדרות</p></div>
151
+ <div class="card trx"><i class="ln" style="right:40px;left:200px;top:60px"></i><i class="ln" style="right:40px;left:260px;top:140px"></i><i class="ln" style="right:40px;left:180px;top:220px"></i><i class="ln" style="right:40px;left:240px;top:300px"></i><i class="ln" style="right:40px;left:300px;top:380px"></i></div>
152
+ </div>
153
+ <svg class="cur" id="cur" viewBox="0 0 64 84"><path d="M6 6v62l15-14 11 24 11-5-11-23h21z"/></svg>
154
+ <i class="clk" id="clk"></i>
155
+ <i class="scrim" id="scrim"></i>
156
+ <div class="cx" style="top:220px"><p id="g1" style="font-size:96px;font-weight:700;color:var(--card)">מי ששולט במסך</p></div>
157
+ <div class="cx" style="top:350px"><p id="g2" style="font-size:96px;font-weight:700;color:var(--glow)">שולט גם בחשבון</p></div>
158
+ <i class="rf" id="rf"></i>
159
+ <div class="tab" id="tab"><i id="tdot"></i><p id="tbt">מישהו אחר שולט במסך</p></div>
160
+ </div></div>
161
+ <div class="ltw" style="bottom:56px"><div class="lt" id="lt2"><i class="mk"></i><p id="lt2a">גישה מרחוק</p><p class="em" id="lt2b">פותחת להם את הדלת</p><i class="cu" id="lt2k"></i></div></div>
162
+ </div>
163
+ </section>
164
+ <section id="s3" class="clip scene" data-start="8.4" data-duration="4.4">
165
+ <div class="cam" id="c3">
166
+ <i class="bgl" style="left:900px;top:20px;transform:rotate(30deg)"></i>
167
+ <div class="nb" id="nb"><div class="nbh"><p class="t b wt" id="nbt" style="right:50px;top:18px;font-size:58px">שלושה כללים לגישה מרחוק</p></div><div class="rw" style="top:150px"><p class="rn" id="rn0">1</p><p class="t b" id="ra0" style="right:150px;top:16px;font-size:50px">לא מתקינים לפי בקשה</p><p class="t gr" id="rb0" style="right:150px;top:84px;font-size:32px">גם כשזה נשמע דחוף</p></div><div class="rw" style="top:320px"><p class="rn" id="rn1">2</p><p class="t b" id="ra1" style="right:150px;top:16px;font-size:50px">לא משתפים מסך</p><p class="t gr" id="rb1" style="right:150px;top:84px;font-size:32px">לא עם נציג ולא עם ״טכנאי״</p></div><div class="rw" style="top:490px"><p class="rn" id="rn2">3</p><p class="t b" id="ra2" style="right:150px;top:16px;font-size:50px">מנתקים ומתקשרים לבנק</p><p class="t gr" id="rb2" style="right:150px;top:84px;font-size:32px">ממספר שאתם מכירים</p></div></div>
168
+ <i class="tape" id="tp1" style="left:100px;top:150px;transform:rotate(-24deg)"></i><i class="tape" id="tp2" style="left:1060px;top:150px;transform:rotate(24deg)"></i>
169
+ <p class="t b" id="h5" style="right:110px;top:190px;font-size:78px">לפני שנותנים</p>
170
+ <p class="lab r" id="h6" data-r="-1.5" style="right:110px;top:300px;font-size:70px">גישה למכשיר</p>
171
+ <div class="noi" id="noi" style="left:1400px;top:440px"><i class="apt"></i><svg viewBox="0 0 300 300"><circle class="ns" id="nsc" cx="150" cy="150" r="136" pathLength="1"/><path class="ns" id="nsl" d="M54 54l192 192" pathLength="1"/></svg></div>
172
+ <div class="ltw" style="bottom:56px"><div class="lt" id="lt3"><i class="mk"></i><p id="lt3a">הבנק</p><p class="em" id="lt3b">לעולם לא יבקש</p><p id="lt3c">גישה למכשיר שלכם</p><i class="cu" id="lt3k"></i></div></div>
173
+ </div>
174
+ </section>
175
+ <section id="s4" class="clip scene" data-start="12.8" data-duration="3.6">
176
+ <div class="cam" id="c4">
177
+ <i class="bgl" style="left:-80px;top:120px;transform:rotate(12deg)"></i>
178
+ <div class="plg" id="plg" style="left:-52px;top:200px"><i class="cab"></i><i class="pb"></i><i class="pg" style="top:48px"></i><i class="pg" style="top:128px"></i></div>
179
+ <div class="sok" id="sok" style="left:1000px;top:150px"><i style="top:92px"></i><i style="top:172px"></i></div>
180
+ <svg class="abs" style="left:800px;top:190px;width:200px;height:220px;overflow:visible" viewBox="0 0 200 220"><path class="spk" d="M100 20v40" pathLength="1"/><path class="spk" d="M40 50l30 30" pathLength="1"/><path class="spk" d="M160 50l-30 30" pathLength="1"/><path class="spk" d="M100 200v-40" pathLength="1"/></svg>
181
+ <div class="cx" style="top:560px"><p id="e1" style="font-size:100px;font-weight:700">המסך שלכם</p><div class="hw"><i class="ul" id="ul4"></i><p id="e2" style="font-size:100px;font-weight:700;color:var(--accent)">נשאר שלכם</p></div></div>
182
+ <p class="t gr c2" id="e3" style="top:710px;font-size:40px">הבנק לא יבקש מכם להתקין תוכנה או לשתף מסך</p>
183
+ <div class="pill" id="cta" style="left:680px;top:820px;width:560px;height:104px"><p id="ctat" style="font-size:44px">בכל ספק, מתקשרים לבנק</p></div>
184
+ </div>
185
+ </section>
186
+ <div id="ov" class="clip ov" data-start="0" data-duration="16.4">
187
+ <div class="brand" id="brand"><i></i><p id="brt">המותג שלכם</p></div>
188
+ </div>
189
+ </div>
190
+ <script>
191
+ const tl=gsap.timeline({paused:true});
192
+ const S=[0,4.2,8.4,12.8,16.4],D=16.4;
193
+ const X="expo.out",P="power3.out",B="back.out(1.7)",E="power2.inOut";
194
+ function sIn(i){tl.fromTo("#c"+(i+1),{opacity:0},{opacity:1,duration:.35,ease:"power1.out"},S[i]);}
195
+ function sOut(i){tl.to("#c"+(i+1),{opacity:0,duration:.35,ease:"power1.in"},S[i+1]-.35);}
196
+ function LT(id,t){tl.fromTo("#"+id,{y:50,opacity:0},{y:0,opacity:1,duration:.5,ease:P},t);
197
+ tl.fromTo("#"+id+" p",{clipPath:"inset(-30% 0% -30% 100%)"},{clipPath:"inset(-30% 0% -30% 0%)",duration:.55,ease:"none",stagger:.5},t+.2);
198
+ tl.fromTo("#"+id+"k",{opacity:1},{opacity:0,duration:.05,repeat:5,yoyo:true,repeatDelay:.25,ease:"none"},t+.3);}
199
+ function HL(sel,t){tl.fromTo(sel,{scaleX:0},{scaleX:1,duration:.5,ease:P},t);}
200
+ function UP(sel,t,st){tl.fromTo(sel,{y:40,opacity:0},{y:0,opacity:1,duration:.6,ease:P,stagger:st||0},t);}
201
+ function LAB(sel,t,st){tl.fromTo(sel,{x:60,opacity:0,rotation:-4},{x:0,opacity:1,rotation:(i,e)=>+(e.dataset.r||0),duration:.5,ease:B,stagger:st||.15},t);}
202
+ function DRAW(sel,t,d,st){tl.fromTo(sel,{strokeDasharray:1,strokeDashoffset:1},{strokeDashoffset:0,duration:d||.8,ease:E,stagger:st||0,autoRound:false},t);}
203
+ tl.fromTo("#brand",{opacity:0,y:-20},{opacity:1,y:0,duration:.5,ease:P},.2);
204
+
205
+ // s1 laptop + fake support chat
206
+ sIn(0);
207
+ UP("#h1",S[0]+.1);UP("#h1b",S[0]+.25);HL("#hl1",S[0]+.8);
208
+ tl.fromTo(["#lap","#lapb"],{y:80,opacity:0},{y:0,opacity:1,duration:.8,ease:X},S[0]+.15);
209
+ tl.fromTo("#cw",{scale:.7,opacity:0,transformOrigin:"0% 100%"},{scale:1,opacity:1,duration:.5,ease:B},S[0]+.7);
210
+ tl.fromTo(["#m1","#m2"],{x:40,opacity:0},{x:0,opacity:1,duration:.4,ease:P,stagger:.45},S[0]+1.1);
211
+ tl.fromTo("#ins",{y:30,opacity:0},{y:0,opacity:1,duration:.45,ease:B},S[0]+2);
212
+ tl.fromTo("#pr",{scale:1,opacity:.9},{scale:1.45,opacity:0,duration:.7,ease:"power1.out",repeat:1},S[0]+2.4);
213
+ LT("lt1",S[0]+1.2);
214
+ sOut(0);
215
+ // s2 monitor taken over: ghost cursor, red sharing frame, dark scrim
216
+ sIn(1);
217
+ tl.fromTo("#mon",{scale:.9,opacity:0},{scale:1,opacity:1,duration:.7,ease:X},S[1]+.05);
218
+ tl.fromTo("#cur",{opacity:0},{opacity:1,duration:.2},S[1]+.45);
219
+ tl.fromTo("#cur",{x:0,y:0},{x:880,y:-130,duration:1.1,ease:E},S[1]+.55);
220
+ tl.fromTo("#clk",{scale:.3,opacity:1},{scale:1.5,opacity:0,duration:.45,ease:P},S[1]+1.7);
221
+ tl.fromTo("#thl",{opacity:0},{opacity:1,duration:.2},S[1]+1.7);
222
+ tl.fromTo("#rf",{opacity:0,scale:1.04},{opacity:1,scale:1,duration:.4,ease:P},S[1]+1);
223
+ tl.fromTo("#rf",{opacity:1},{opacity:.4,duration:.25,yoyo:true,repeat:3,ease:"sine.inOut",immediateRender:false},S[1]+1.5);
224
+ tl.fromTo("#tab",{y:-80},{y:0,duration:.45,ease:B},S[1]+1.1);
225
+ tl.fromTo("#tdot",{opacity:1},{opacity:.2,duration:.3,yoyo:true,repeat:5,ease:"none"},S[1]+1.5);
226
+ tl.fromTo("#scrim",{opacity:0},{opacity:.9,duration:.5,ease:"power1.inOut"},S[1]+2.3);
227
+ tl.to("#ui",{opacity:.3,duration:.4},S[1]+2.3);
228
+ tl.fromTo(["#g1","#g2"],{y:40,opacity:0},{y:0,opacity:1,duration:.55,ease:P,stagger:.18},S[1]+2.5);
229
+ LT("lt2",S[1]+.9);
230
+ sOut(1);
231
+ // s3 taped notepad with three rules + no-install tile
232
+ sIn(2);
233
+ tl.fromTo("#nb",{y:90,opacity:0,rotation:2},{y:0,opacity:1,rotation:-1,duration:.8,ease:X},S[2]+.05);
234
+ tl.fromTo(["#tp1","#tp2"],{opacity:0,scale:1.6},{opacity:1,scale:1,duration:.35,ease:P,stagger:.1},S[2]+.5);
235
+ tl.fromTo("#c3 .rw",{x:60,opacity:0},{x:0,opacity:1,duration:.5,ease:P,stagger:.4},S[2]+.6);
236
+ tl.fromTo("#c3 .rn",{scale:0},{scale:1,duration:.4,ease:B,stagger:.4},S[2]+.7);
237
+ UP("#h5",S[2]+.2);LAB("#h6",S[2]+.45);
238
+ tl.fromTo("#noi .apt",{scale:0},{scale:1,duration:.5,ease:B},S[2]+1);
239
+ DRAW("#nsc",S[2]+1.4,.5);DRAW("#nsl",S[2]+1.8,.3);
240
+ LT("lt3",S[2]+1.7);
241
+ sOut(2);
242
+ // s4 plug pulled out of the socket
243
+ sIn(3);
244
+ tl.fromTo("#sok",{x:80,opacity:0},{x:0,opacity:1,duration:.5,ease:P},S[3]+.05);
245
+ tl.fromTo("#plg",{opacity:0},{opacity:1,duration:.35,ease:P},S[3]+.05);
246
+ tl.to("#plg",{x:-220,duration:.6,ease:"power3.inOut"},S[3]+.6);
247
+ DRAW("#c4 .spk",S[3]+.95,.3,.05);
248
+ tl.fromTo("#c4 .spk",{opacity:1},{opacity:0,duration:.3,immediateRender:false},S[3]+1.5);
249
+ UP(["#e1","#e2"],S[3]+.5,.15);HL("#ul4",S[3]+1.1);
250
+ UP("#e3",S[3]+1);
251
+ tl.fromTo("#cta",{scale:.6,opacity:0},{scale:1,opacity:1,duration:.5,ease:B},S[3]+1.3);
252
+ tl.set({},{},D);
253
+ window.__timelines=window.__timelines||{};window.__timelines["bank-remote-access"]=tl;
254
+ </script>
255
+ </body>
256
+ </html>
@@ -0,0 +1,219 @@
1
+ <!doctype html>
2
+ <html lang="he" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=1080, height=1080">
6
+ <title>כיס חיסכון מתמלא</title>
7
+ <script src="vendor/gsap.min.js"></script>
8
+ <style>
9
+ @font-face{font-family:"Heebo";font-weight:400;src:url(fonts/heebo-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
10
+ @font-face{font-family:"Heebo";font-weight:400;src:url(fonts/heebo-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
11
+ @font-face{font-family:"Heebo";font-weight:700;src:url(fonts/heebo-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
12
+ @font-face{font-family:"Heebo";font-weight:700;src:url(fonts/heebo-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
13
+ :root{--paper:#F4F4F2;--card:#FFFFFF;--ink:#141A26;--accent:#E3063B;--mute:#B4B8C0;--glow:#FF3B5C}
14
+ *{box-sizing:border-box;margin:0;padding:0}
15
+ html,body{width:1080px;height:1080px;overflow:hidden;background:var(--bg)}
16
+ body{font-family:"Heebo",Arial,sans-serif;-webkit-font-smoothing:antialiased}
17
+ #root{position:relative;width:1080px;height:1080px;overflow:hidden;background:var(--bg);color:var(--fg);direction:rtl;font-family:"Heebo",Arial,sans-serif}
18
+ .scene{position:absolute;inset:0;overflow:hidden}
19
+ .cam,.layer{position:absolute;inset:0}
20
+ .abs{position:absolute}
21
+ .m{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .05em .08em}
22
+ .w{display:inline-block;white-space:nowrap}
23
+ #root{background:radial-gradient(ellipse at 72% 18%,var(--card),var(--paper) 62%)}
24
+ .t{position:absolute;white-space:nowrap;line-height:1.15;color:var(--ink)}
25
+ .b{font-weight:700}
26
+ .bgl{position:absolute;height:2px;width:1400px;background:color-mix(in srgb,var(--ink) 7%,transparent);transform-origin:0 0}
27
+ .ov{position:absolute;inset:0;pointer-events:none}
28
+ .ov>*{pointer-events:auto}
29
+ .brand{position:absolute;top:30px;right:36px;display:flex;align-items:center;gap:12px;height:52.800000000000004px;padding:0 24px;border-radius:26.400000000000002px;background:var(--card);box-shadow:0 6px 20px color-mix(in srgb,var(--ink) 14%,transparent)}
30
+ .brand i{width:14.399999999999999px;height:14.399999999999999px;border-radius:3px;background:var(--accent);flex:none}
31
+ .brand p{font-size:24px;font-weight:700;color:var(--ink);white-space:nowrap}
32
+ .ltw{position:absolute;left:0;right:0;display:flex;justify-content:center}
33
+ .lt{display:flex;align-items:center;gap:10.24px;height:74px;padding:0 27.2px;border-radius:14px;background:var(--card);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 16%,transparent)}
34
+ .lt .mk{width:13.44px;height:13.44px;border-radius:3px;background:var(--accent);flex:none}
35
+ .lt p{font-size:32px;white-space:nowrap;color:var(--ink);line-height:1.2}
36
+ .lt .em{font-weight:700;color:var(--accent)}
37
+ .lt .cu{width:9.6px;height:33.6px;background:var(--ink);flex:none}
38
+ .card{position:absolute;background:var(--card);border-radius:10px;box-shadow:0 20px 48px color-mix(in srgb,var(--ink) 16%,transparent)}
39
+ .tape{position:absolute;width:140px;height:36px;background:var(--accent);box-shadow:0 3px 8px color-mix(in srgb,var(--ink) 18%,transparent)}
40
+ .tape::after{content:"";position:absolute;left:44%;top:12px;width:12px;height:12px;background:color-mix(in srgb,var(--card) 85%,var(--accent))}
41
+ .lab{position:absolute;padding:2px .55em 8px;font-weight:700;white-space:nowrap;line-height:1.2;box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 14%,transparent)}
42
+ .lab.r{background:var(--accent);color:var(--card)}
43
+ .lab.w{background:var(--card);color:var(--ink)}
44
+ .lab.k{background:var(--ink);color:var(--card)}
45
+ .hw{position:absolute;white-space:nowrap}
46
+ .hw p{position:relative;line-height:1.15;color:var(--ink)}
47
+ .hl{position:absolute;left:-12px;right:-12px;bottom:10%;height:34%;background:color-mix(in srgb,var(--accent) 26%,transparent);transform-origin:100% 50%}
48
+ .ul{position:absolute;left:-6px;right:-6px;bottom:-6px;height:7px;border-radius:4px;background:var(--accent);transform-origin:100% 50%}
49
+ .cx{position:absolute;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:26px;white-space:nowrap}
50
+ .cx .hw{position:relative}
51
+ .cx>p{color:var(--ink);line-height:1.15}
52
+ .ln{position:absolute;height:14px;border-radius:7px;background:color-mix(in srgb,var(--mute) 50%,var(--card))}
53
+ .win{position:absolute;background:var(--card);border-radius:14px;overflow:hidden;box-shadow:0 20px 48px color-mix(in srgb,var(--ink) 16%,transparent)}
54
+ .win>.wb{position:absolute;left:0;right:0;top:0;height:44px;background:var(--ink)}
55
+ .win>.wb::before{content:"";position:absolute;left:18px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--mute);box-shadow:20px 0 0 var(--mute),40px 0 0 var(--mute)}
56
+ .pill{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent)}
57
+ .pill p{color:var(--card);font-weight:700;white-space:nowrap}
58
+ .chip{position:absolute;display:flex;align-items:center;gap:12px;padding:0 26px;border-radius:999px;background:var(--card);box-shadow:0 10px 26px color-mix(in srgb,var(--ink) 14%,transparent)}
59
+ .chip i{width:14px;height:14px;border-radius:3px;background:var(--accent);flex:none}
60
+ .chip p{font-weight:700;white-space:nowrap;color:var(--ink)}
61
+ .fine{position:absolute;white-space:nowrap;color:color-mix(in srgb,var(--ink) 55%,var(--paper))}
62
+ .dk{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--ink) 80%,var(--glow) 8%),var(--ink) 70%)}
63
+ .glw{position:absolute;background:var(--glow);box-shadow:0 0 60px 6px color-mix(in srgb,var(--glow) 70%,transparent),0 0 180px 40px color-mix(in srgb,var(--glow) 32%,transparent)}
64
+ .fig{position:absolute}
65
+ .fig .h{position:absolute;border-radius:50%}
66
+ .fig .bd{position:absolute;border-radius:48% 48% 14px 14px / 38% 38% 14px 14px}
67
+ .ck{fill:none;stroke:var(--card);stroke-linecap:round;stroke-linejoin:round}
68
+
69
+ .gr{color:color-mix(in srgb,var(--ink) 58%,var(--card))}
70
+ .c2{left:0;right:0;text-align:center}
71
+ .jar{position:absolute;left:110px;top:360px;width:400px;height:520px}
72
+ .jb{position:absolute;left:0;top:90px;width:400px;height:430px;border-radius:70px 70px 90px 90px;border:10px solid var(--ink);background:color-mix(in srgb,var(--card) 60%,transparent);overflow:hidden}
73
+ .lq{position:absolute;left:0;right:0;bottom:0;background:repeating-linear-gradient(to top,var(--accent) 0 26px,color-mix(in srgb,var(--accent) 72%,var(--ink)) 26px 31px)}
74
+ .lqi{position:absolute;left:0;right:0;bottom:330px;height:26px;background:var(--glow)}
75
+ .gl{position:absolute;left:34px;top:40px;width:24px;height:220px;border-radius:12px;background:color-mix(in srgb,var(--card) 75%,transparent)}
76
+ .jl{position:absolute;left:70px;right:70px;top:120px;height:96px;border-radius:12px;background:var(--card);box-shadow:0 8px 20px color-mix(in srgb,var(--ink) 16%,transparent);display:flex;align-items:center;justify-content:center}
77
+ .jl p{font-size:42px;font-weight:700;color:var(--ink);white-space:nowrap}
78
+ .nk{position:absolute;left:90px;top:56px;width:220px;height:44px;border-left:10px solid var(--ink);border-right:10px solid var(--ink);background:color-mix(in srgb,var(--card) 60%,transparent)}
79
+ .ld{position:absolute;left:66px;top:0;width:268px;height:66px;border-radius:18px;background:var(--accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 30%,transparent)}
80
+ .ld::after{content:"";position:absolute;left:0;right:0;top:44px;height:8px;background:color-mix(in srgb,var(--accent) 70%,var(--ink))}
81
+ .coin{position:absolute;top:150px;width:96px;height:96px;border-radius:50%;background:var(--accent);border:7px solid color-mix(in srgb,var(--accent) 70%,var(--ink));display:flex;align-items:center;justify-content:center}
82
+ .coin p{font-size:50px;font-weight:700;color:var(--card);line-height:1}
83
+ .mr{position:absolute;left:560px;width:450px;height:90px;border-radius:45px;background:var(--card);box-shadow:0 10px 24px color-mix(in srgb,var(--ink) 12%,transparent)}
84
+ .mr p{position:absolute;top:18px;font-size:40px;white-space:nowrap;line-height:1.2;color:var(--ink)}
85
+ .mh{position:absolute;inset:0;border-radius:45px;border:5px solid var(--accent)}
86
+ .rbx{position:absolute;left:560px;top:740px;width:450px;height:120px;border-radius:24px;background:var(--ink);overflow:hidden}
87
+ .rbc{position:absolute;left:0;right:0;top:0}
88
+ .rbc p{height:120px;line-height:120px;text-align:center;font-size:80px;font-weight:700;color:var(--card);white-space:nowrap}
89
+ .tag{position:absolute;left:560px;top:430px;width:330px;height:180px;border-radius:20px;background:var(--card);box-shadow:0 16px 36px color-mix(in srgb,var(--ink) 18%,transparent);transform-origin:8% 40%}
90
+ .tag::before{content:"";position:absolute;left:26px;top:60px;width:30px;height:30px;border-radius:50%;border:6px solid var(--mute);box-sizing:border-box}
91
+ .str{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round}
92
+ .tot{position:absolute;left:560px;top:680px;width:450px;height:100px;border-radius:50px;background:var(--card);box-shadow:0 10px 24px color-mix(in srgb,var(--ink) 12%,transparent)}
93
+ .tot p{position:absolute;white-space:nowrap;line-height:1.2}
94
+ .gj{position:absolute;left:420px;top:150px;width:240px;height:260px;border-radius:44px 44px 60px 60px;border:10px solid var(--glow);box-shadow:0 0 40px 4px color-mix(in srgb,var(--glow) 60%,transparent),inset 0 0 30px color-mix(in srgb,var(--glow) 40%,transparent)}
95
+ .gl2{left:440px;top:96px;width:200px;height:44px;border-radius:14px}
96
+ .gc{position:absolute;width:70px;height:70px;border-radius:50%;background:var(--glow);box-shadow:0 0 24px color-mix(in srgb,var(--glow) 60%,transparent)}
97
+ .dkt{color:var(--card)}
98
+ </style>
99
+ </head>
100
+ <body>
101
+ <div id="root" data-composition-id="bank-savings-pocket" data-start="0" data-width="1080" data-height="1080" data-duration="15.2">
102
+ <section id="s1" class="clip scene" data-start="0" data-duration="3.4">
103
+ <div class="cam" id="c1">
104
+ <i class="bgl" style="left:-80px;top:980px;transform:rotate(-20deg)"></i>
105
+ <div class="jar" id="jar1"><div class="jb"><i class="lq" id="lq1" style="height:0px"></i><i class="gl"></i><div class="jl"><p id="jl1">הכיס שלי</p></div></div><i class="nk"></i><i class="ld"></i></div>
106
+ <div class="coin" id="cn0" style="left:262px"><p id="cn0t">₪</p></div>
107
+ <p class="t b" id="h1" style="right:70px;top:110px;font-size:92px">קצת כל חודש</p>
108
+ <p class="lab r" id="h2" data-r="-2" style="right:70px;top:230px;font-size:72px">מצטבר לסכום</p>
109
+ <p class="t gr" id="h3" style="right:70px;top:370px;font-size:36px">כיס נפרד, ליד החשבון</p>
110
+ <div class="chip" id="g1" style="right:70px;top:470px;height:84px"><i></i><p id="g1t" style="font-size:38px">חופשה</p></div>
111
+ <div class="chip" id="g2" style="right:130px;top:580px;height:84px"><i></i><p id="g2t" style="font-size:38px">מחשב חדש</p></div>
112
+ <div class="chip" id="g3" style="right:70px;top:690px;height:84px"><i></i><p id="g3t" style="font-size:38px">קרן חירום</p></div>
113
+ <div class="ltw" style="bottom:44px"><div class="lt" id="lt1"><i class="mk"></i><p id="lt1a">כיס חיסכון:</p><p class="em" id="lt1b">כסף בצד</p><p id="lt1c">בלי להתאמץ</p><i class="cu" id="lt1k"></i></div></div>
114
+ </div>
115
+ </section>
116
+ <section id="s2" class="clip scene" data-start="3.4" data-duration="5">
117
+ <div class="cam" id="c2">
118
+ <div class="jar" id="jar2"><div class="jb"><i class="lq" id="lq2" style="height:40px"></i><i class="gl"></i><div class="jl"><p id="jl2">הכיס שלי</p></div></div><i class="nk"></i><i class="ld"></i></div>
119
+ <div class="coin" id="cn1" style="left:262px"><p id="cn1t">₪</p></div><div class="coin" id="cn2" style="left:262px"><p id="cn2t">₪</p></div><div class="coin" id="cn3" style="left:262px"><p id="cn3t">₪</p></div>
120
+ <div class="hw" style="right:70px;top:100px"><i class="hl" id="hl2"></i><p id="h4" style="font-size:86px;font-weight:700">שלושה חודשים</p></div>
121
+ <p class="t" id="h5" style="right:70px;top:222px;font-size:44px">500 ₪ בכל חודש</p>
122
+ <div class="mr" id="mr0" style="top:330px"><i class="mh" id="mh0"></i><p class="b" id="mn0" style="right:30px">חודש 1</p><p class="b" id="mv0" style="left:30px;color:var(--accent)">500 ₪</p></div><div class="mr" id="mr1" style="top:440px"><i class="mh" id="mh1"></i><p class="b" id="mn1" style="right:30px">חודש 2</p><p class="b" id="mv1" style="left:30px;color:var(--accent)">500 ₪</p></div><div class="mr" id="mr2" style="top:550px"><i class="mh" id="mh2"></i><p class="b" id="mn2" style="right:30px">חודש 3</p><p class="b" id="mv2" style="left:30px;color:var(--accent)">500 ₪</p></div>
123
+ <p class="t gr" id="t0" style="right:70px;top:680px;font-size:34px">בכיס עכשיו</p>
124
+ <div class="rbx" id="rbx"><div class="rbc" id="rbc"><p id="rv0">0 ₪</p><p id="rv1">500 ₪</p><p id="rv2">1,000 ₪</p><p id="rv3">1,500 ₪</p></div></div>
125
+ <div class="ltw" style="bottom:44px"><div class="lt" id="lt2"><i class="mk"></i><p id="lt2a">חודש אחרי חודש,</p><p class="em" id="lt2b">הכיס מתמלא</p><i class="cu" id="lt2k"></i></div></div>
126
+ </div>
127
+ </section>
128
+ <section id="s3" class="clip scene" data-start="8.4" data-duration="3.6">
129
+ <div class="cam" id="c3">
130
+ <div class="jar" id="jar3"><div class="jb"><i class="lq" id="lq3" style="height:330px"></i><i class="lqi" id="lqi"></i><i class="gl"></i><div class="jl"><p id="jl3">הכיס שלי</p></div></div><i class="nk"></i><i class="ld"></i></div>
131
+ <svg class="abs" style="left:0;top:0;width:1080px;height:1080px;overflow:visible" viewBox="0 0 1080 1080"><path class="str" id="str" pathLength="1" d="M440 392C520 392 560 420 597 505"/></svg>
132
+ <div class="tag" id="tag"><p class="t gr" id="tg1" style="right:30px;top:26px;font-size:32px">ריבית לדוגמה</p><p class="t b" id="tg2" style="right:30px;top:72px;font-size:80px;color:var(--accent)">6 ₪</p></div>
133
+ <p class="t b" id="h7" style="right:70px;top:110px;font-size:86px">הכסף בכיס</p>
134
+ <p class="lab r" id="h8" data-r="-1.5" style="right:70px;top:226px;font-size:72px">צובר ריבית</p>
135
+ <div class="tot" id="tot"><p class="gr" id="tt1" style="right:36px;top:28px;font-size:34px">סה״כ בכיס</p><p class="b" id="tt2" style="left:36px;top:18px;font-size:50px">1,506 ₪</p></div>
136
+ <p class="fine c2" id="f3" style="top:905px;font-size:26px">הריבית להמחשה בלבד · בכפוף לתנאי הבנק</p>
137
+ <div class="ltw" style="bottom:44px"><div class="lt" id="lt3"><i class="mk"></i><p id="lt3a">גם</p><p class="em" id="lt3b">סכום קטן</p><p id="lt3c">מתחיל לצבור</p><i class="cu" id="lt3k"></i></div></div>
138
+ </div>
139
+ </section>
140
+ <section id="s4" class="clip scene" data-start="12" data-duration="3.2">
141
+ <div class="cam" id="c4">
142
+ <i class="dk"></i>
143
+ <i class="glw gl2" id="gl2"></i>
144
+ <div class="gj" id="gj"></div>
145
+ <i class="gc" id="gc1" style="left:470px;top:320px"></i><i class="gc" id="gc2" style="left:540px;top:320px"></i><i class="gc" id="gc3" style="left:505px;top:262px"></i>
146
+ <div class="cx" style="top:440px"><p class="dkt" id="e1" style="font-size:96px;font-weight:700;color:var(--card)">כיס חיסכון</p></div>
147
+ <div class="cx" style="top:555px"><p id="e2" style="font-size:96px;font-weight:700;color:var(--glow)">לכל מטרה</p></div>
148
+ <p class="t c2" id="e3" style="top:690px;font-size:38px;color:color-mix(in srgb,var(--card) 80%,var(--ink))">פותחים בכמה נגיעות באפליקציה</p>
149
+ <div class="pill" id="cta" style="left:250px;top:790px;width:580px;height:100px"><p id="ctat" style="font-size:42px">פותחים כיס באפליקציה</p></div>
150
+ <p class="t c2" id="f4" style="top:932px;font-size:24px;color:color-mix(in srgb,var(--card) 60%,var(--ink))">אין באמור ייעוץ השקעות · בכפוף לתנאי הבנק</p>
151
+ </div>
152
+ </section>
153
+ <div id="ov" class="clip ov" data-start="0" data-duration="15.2">
154
+ <div class="brand" id="brand"><i></i><p id="brt">המותג שלכם</p></div>
155
+ </div>
156
+ </div>
157
+ <script>
158
+ const tl=gsap.timeline({paused:true});
159
+ const S=[0,3.4,8.4,12,15.2],D=15.2;
160
+ const X="expo.out",P="power3.out",B="back.out(1.7)",E="power2.inOut";
161
+ function sIn(i){tl.fromTo("#c"+(i+1),{opacity:0},{opacity:1,duration:.35,ease:"power1.out"},S[i]);}
162
+ function sOut(i){tl.to("#c"+(i+1),{opacity:0,duration:.35,ease:"power1.in"},S[i+1]-.35);}
163
+ function LT(id,t){tl.fromTo("#"+id,{y:50,opacity:0},{y:0,opacity:1,duration:.5,ease:P},t);
164
+ tl.fromTo("#"+id+" p",{clipPath:"inset(-30% 0% -30% 100%)"},{clipPath:"inset(-30% 0% -30% 0%)",duration:.55,ease:"none",stagger:.5},t+.2);
165
+ tl.fromTo("#"+id+"k",{opacity:1},{opacity:0,duration:.05,repeat:5,yoyo:true,repeatDelay:.25,ease:"none"},t+.3);}
166
+ function HL(sel,t){tl.fromTo(sel,{scaleX:0},{scaleX:1,duration:.5,ease:P},t);}
167
+ function UP(sel,t,st){tl.fromTo(sel,{y:40,opacity:0},{y:0,opacity:1,duration:.6,ease:P,stagger:st||0},t);}
168
+ function LAB(sel,t,st){tl.fromTo(sel,{x:60,opacity:0,rotation:-4},{x:0,opacity:1,rotation:(i,e)=>+(e.dataset.r||0),duration:.5,ease:B,stagger:st||.15},t);}
169
+ function DRAW(sel,t,d,st){tl.fromTo(sel,{strokeDasharray:1,strokeDashoffset:1},{strokeDashoffset:0,duration:d||.8,ease:E,stagger:st||0,autoRound:false},t);}
170
+ tl.fromTo("#brand",{opacity:0,y:-20},{opacity:1,y:0,duration:.5,ease:P},.2);
171
+
172
+ function DROP(id,t){tl.fromTo(id,{y:-260,opacity:0,rotation:-20},{y:0,opacity:1,rotation:0,duration:.45,ease:"power2.in"},t);tl.to(id,{y:150,opacity:0,scale:.7,duration:.25,ease:"power1.in"},t+.45);}
173
+ // s1 empty jar, goal chips, first coin teaser
174
+ sIn(0);
175
+ tl.fromTo("#jar1",{y:80,opacity:0},{y:0,opacity:1,duration:.8,ease:X},S[0]+.1);
176
+ UP("#h1",S[0]+.15);LAB("#h2",S[0]+.4);UP("#h3",S[0]+.7);
177
+ tl.fromTo(["#g1","#g2","#g3"],{x:50,opacity:0},{x:0,opacity:1,duration:.45,ease:B,stagger:.15},S[0]+.9);
178
+ DROP("#cn0",S[0]+1.6);
179
+ tl.fromTo("#lq1",{height:0},{height:40,duration:.4,ease:P},S[0]+2.2);
180
+ LT("lt1",S[0]+1);
181
+ sOut(0);
182
+ // s2 three months: coins drop, fill rises, total rolls
183
+ sIn(1);
184
+ UP("#h4",S[1]+.1);HL("#hl2",S[1]+.6);UP("#h5",S[1]+.3);
185
+ UP("#t0",S[1]+.3);tl.fromTo("#rbx",{scale:.8,opacity:0},{scale:1,opacity:1,duration:.4,ease:B},S[1]+.35);
186
+ [0,1,2].forEach(function(i){var t=S[1]+.5+i*1.3;
187
+ tl.fromTo("#mr"+i,{x:60,opacity:0},{x:0,opacity:1,duration:.4,ease:P},t);
188
+ tl.fromTo("#mh"+i,{opacity:0},{opacity:1,duration:.2},t+.3);
189
+ if(i)tl.to("#mh"+(i-1),{opacity:0,duration:.2},t+.3);
190
+ DROP("#cn"+(i+1),t+.2);
191
+ tl.to("#lq2",{height:110*(i+1),duration:.5,ease:P},t+.85);
192
+ tl.to("#rbc",{y:-120*(i+1),duration:.35,ease:P},t+.9);});
193
+ LT("lt2",S[1]+1.2);
194
+ sOut(1);
195
+ // s3 hanging interest tag (illustrative)
196
+ sIn(2);
197
+ tl.fromTo("#jar3",{opacity:0},{opacity:1,duration:.3},S[2]);
198
+ tl.fromTo("#lqi",{height:0},{height:26,duration:.6,ease:P},S[2]+.6);
199
+ DRAW("#str",S[2]+.3,.4);
200
+ tl.fromTo("#tag",{scale:0,rotation:-30},{scale:1,rotation:-5,duration:.6,ease:B},S[2]+.55);
201
+ tl.fromTo("#tag",{rotation:-5},{rotation:-1,duration:.5,yoyo:true,repeat:1,ease:"sine.inOut",immediateRender:false},S[2]+1.2);
202
+ UP("#h7",S[2]+.1);LAB("#h8",S[2]+.35);
203
+ tl.fromTo("#tot",{y:30,opacity:0},{y:0,opacity:1,duration:.45,ease:P},S[2]+1.1);
204
+ UP("#f3",S[2]+1.4);
205
+ LT("lt3",S[2]+1.2);
206
+ sOut(2);
207
+ // s4 dark close with glowing jar
208
+ sIn(3);
209
+ tl.fromTo("#gj",{scale:.6,opacity:0},{scale:1,opacity:1,duration:.6,ease:B},S[3]+.1);
210
+ tl.fromTo("#gl2",{y:-40,opacity:0},{y:0,opacity:1,duration:.45,ease:P},S[3]+.4);
211
+ tl.fromTo(["#gc1","#gc2","#gc3"],{y:-160,opacity:0},{y:0,opacity:1,duration:.4,ease:"power2.in",stagger:.12},S[3]+.6);
212
+ UP("#e1",S[3]+.5);UP("#e2",S[3]+.65);UP("#e3",S[3]+.95);
213
+ tl.fromTo("#cta",{scale:.6,opacity:0},{scale:1,opacity:1,duration:.5,ease:B},S[3]+1.2);
214
+ UP("#f4",S[3]+1.4);
215
+ tl.set({},{},D);
216
+ window.__timelines=window.__timelines||{};window.__timelines["bank-savings-pocket"]=tl;
217
+ </script>
218
+ </body>
219
+ </html>