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,245 @@
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{--bg:#F7F3EE;--fg:#1B1B1F;--accent:#C8102E;--card:#FFFFFF;--mute:#8E877F}
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
+ .t{position:absolute;white-space:nowrap;line-height:1.15;color:var(--fg)}
24
+ .c{left:0;right:0;text-align:center}
25
+ .cw{position:absolute;left:0;right:0;display:flex;justify-content:center}
26
+ .row{display:flex;gap:.26em;align-items:baseline;white-space:nowrap;line-height:1.15;font-weight:700;color:var(--fg)}
27
+ .em{color:var(--accent)}
28
+ .hw{position:relative}
29
+ .hw p{position:relative}
30
+ .hb{position:absolute;left:-.1em;right:-.1em;bottom:.08em;height:.34em;background:color-mix(in srgb,var(--accent) 24%,transparent)}
31
+ .pl{position:absolute;background:color-mix(in srgb,var(--card) 62%,transparent)}
32
+ .brand{position:absolute;top:36px;right:44px;height:54px;padding:0 22px;border-radius:27px;background:var(--card);display:flex;align-items:center;gap:12px;box-shadow:0 6px 18px color-mix(in srgb,var(--fg) 12%,transparent)}
33
+ .brand .bm{width:16px;height:16px;border-radius:3px;background:var(--accent)}
34
+ .brand p{font-size:26px;font-weight:700;color:var(--fg);white-space:nowrap}
35
+ .capw{position:absolute;left:0;right:0;bottom:58px;display:flex;justify-content:center}
36
+ .cap{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:12px;padding:16px 28px;box-shadow:0 10px 28px color-mix(in srgb,var(--fg) 14%,transparent)}
37
+ .cap .mk{flex:none;width:16px;height:16px;background:var(--accent)}
38
+ .cap .ct{display:flex;gap:.26em;overflow:hidden;min-width:0;font-size:40px;line-height:1.3;white-space:nowrap;color:var(--fg)}
39
+ .cap .ct .em{font-weight:700}
40
+ .cap .cur{flex:none;width:12px;height:40px;background:var(--fg)}
41
+ .card{position:absolute;background:var(--card);border-radius:10px;box-shadow:0 24px 54px color-mix(in srgb,var(--fg) 13%,transparent),0 2px 6px color-mix(in srgb,var(--fg) 8%,transparent)}
42
+ .tape{position:absolute;z-index:2;width:120px;height:32px;background:var(--accent);opacity:.94}
43
+ .tape::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;background:var(--card)}
44
+ .tl{top:-6px;left:-34px;transform:rotate(-36deg)}
45
+ .tr{top:-6px;right:-34px;transform:rotate(36deg)}
46
+ .ln{display:block;height:12px;border-radius:6px;background:color-mix(in srgb,var(--mute) 38%,var(--card));margin-top:18px}
47
+ .ln.r{background:color-mix(in srgb,var(--accent) 45%,var(--card))}
48
+ .lab{position:absolute;padding:6px 24px 12px;font-size:46px;font-weight:700;white-space:nowrap;line-height:1.2;background:var(--card);color:var(--fg);box-shadow:0 8px 20px color-mix(in srgb,var(--fg) 12%,transparent)}
49
+ .lab.r{background:var(--accent);color:var(--card)}
50
+ .win{position:absolute;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 24px 54px color-mix(in srgb,var(--fg) 14%,transparent)}
51
+ .win .wb{height:44px;background:var(--fg);display:flex;align-items:center;gap:10px;padding:0 18px;direction:ltr}
52
+ .win .wb i{width:12px;height:12px;border-radius:50%;background:color-mix(in srgb,var(--card) 50%,var(--fg))}
53
+ .fig{position:absolute;width:200px;height:300px}
54
+ .fig .hd{position:absolute;left:55px;top:0;width:90px;height:90px;border-radius:50%;background:color-mix(in srgb,var(--fg) 82%,var(--card))}
55
+ .fig .bd{position:absolute;left:0;top:104px;width:200px;height:196px;border-radius:100px 100px 14px 14px;background:var(--fg)}
56
+ .fig .nk{position:absolute;left:78px;top:104px;width:44px;height:58px;background:var(--card);clip-path:polygon(0 0,100% 0,50% 100%)}
57
+ .fig.a .bd{background:var(--accent)}
58
+ .fig.m .bd{background:var(--mute)}
59
+ .endmk{width:64px;height:64px;border-radius:8px;background:var(--accent)}
60
+ .ebox{border:5px solid var(--fg);background:var(--card);padding:4px 38px 14px;font-weight:700;white-space:nowrap;line-height:1.2;color:var(--fg)}
61
+ .cta{display:flex;align-items:center;gap:14px;height:84px;padding:0 40px;border-radius:42px;background:var(--fg)}
62
+ .cta i{width:16px;height:16px;background:var(--accent)}
63
+ .cta p{font-size:36px;font-weight:700;color:var(--card);white-space:nowrap}
64
+ .fine{font-size:24px;color:color-mix(in srgb,var(--fg) 58%,var(--bg))}
65
+ .ck{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
66
+
67
+ .capw{bottom:46px}
68
+ .cap .ct{font-size:34px}
69
+ .cap .cur{height:34px}
70
+ .brand{top:30px;right:36px}
71
+ .fig{transform:scale(.78);transform-origin:50% 100%}
72
+ .tbl{position:absolute;left:120px;top:520px;width:840px;height:150px;border-radius:22px;background:var(--card);box-shadow:0 24px 54px color-mix(in srgb,var(--fg) 13%,transparent)}
73
+ .tbl::after{content:"";position:absolute;left:0;right:0;top:56px;height:38px;background:color-mix(in srgb,var(--accent) 9%,transparent)}
74
+ .edge{position:absolute;left:120px;top:660px;width:840px;height:26px;border-radius:0 0 12px 12px;background:color-mix(in srgb,var(--mute) 55%,var(--card))}
75
+ .leg{position:absolute;top:686px;width:28px;height:170px;background:color-mix(in srgb,var(--mute) 70%,var(--fg))}
76
+ .plt{position:absolute;top:560px;width:156px;height:58px;border-radius:50%;background:var(--card);border:8px solid color-mix(in srgb,var(--mute) 24%,var(--card));box-shadow:0 6px 12px color-mix(in srgb,var(--fg) 14%,transparent)}
77
+ .plt i{position:absolute}
78
+ .f1{left:36px;top:-14px;width:68px;height:40px;border-radius:34px 34px 8px 8px;background:var(--accent)}
79
+ .f2{left:28px;top:4px;width:84px;height:30px;border-radius:15px;background:color-mix(in srgb,var(--mute) 70%,var(--card))}
80
+ .f3{left:30px;top:-6px;width:36px;height:36px;border-radius:50%;background:var(--fg);box-shadow:44px 4px 0 color-mix(in srgb,var(--accent) 70%,var(--card))}
81
+ .f4{left:40px;top:-30px;width:60px;height:58px;background:color-mix(in srgb,var(--accent) 55%,var(--card));clip-path:polygon(50% 0,100% 100%,0 100%)}
82
+ .rcs{position:absolute;z-index:2;left:465px;top:700px;width:150px;height:190px;background:var(--card);border-radius:6px;box-shadow:0 10px 22px color-mix(in srgb,var(--fg) 22%,transparent);transform:rotate(6deg)}
83
+ .rcs i{position:absolute;left:20px;right:20px;height:9px;border-radius:4px;background:color-mix(in srgb,var(--mute) 35%,var(--card))}
84
+ .rcs p{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:32px;font-weight:700;color:var(--accent);white-space:nowrap}
85
+ .rcb{left:330px;top:230px;width:420px;height:600px}
86
+ .rr{position:absolute;left:40px;right:40px;display:flex;justify-content:space-between;align-items:baseline}
87
+ .rr p{font-size:32px;white-space:nowrap;color:var(--fg)}
88
+ .rr.tot p{font-size:40px;font-weight:700}
89
+ .rr.tot .v{font-size:58px;color:var(--accent)}
90
+ .dsh{position:absolute;left:40px;right:40px;top:380px;border-top:4px dashed color-mix(in srgb,var(--mute) 40%,var(--card))}
91
+ .cut{position:absolute;z-index:3;background:var(--accent);border-radius:3px}
92
+ .qd{position:absolute;width:210px;height:300px;background:var(--card);border-radius:10px;overflow:hidden;box-shadow:0 16px 36px color-mix(in srgb,var(--fg) 13%,transparent)}
93
+ .qa{position:absolute;right:26px;top:26px;width:52px;height:52px;border-radius:50%}
94
+ .qv{right:26px;top:86px;font-size:60px;font-weight:700}
95
+ .qs{right:26px;top:162px;font-size:26px;color:var(--mute)}
96
+ .nt{left:140px;top:370px;width:800px;height:115px}
97
+ .nav{position:absolute;right:32px;top:22px;width:72px;height:72px;border-radius:50%}
98
+ .nav b{position:absolute;left:-6px;bottom:-6px;width:32px;height:32px;border-radius:50%;background:var(--accent);border:5px solid var(--card)}
99
+ .trk{position:absolute;left:240px;top:800px;width:600px;height:20px;border-radius:10px;background:color-mix(in srgb,var(--mute) 25%,var(--card));overflow:hidden;display:flex;gap:6px}
100
+ .trk i{flex:1;background:var(--accent);transform-origin:100% 50%}
101
+ .okb{position:absolute;left:455px;top:120px;width:170px;height:170px}
102
+ .okb circle{fill:var(--accent)}
103
+ .okb polyline{fill:none;stroke:var(--card);stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
104
+ .av4{position:absolute;top:630px;width:84px;height:84px}
105
+ .av4 i{position:absolute;inset:0;border-radius:50%}
106
+ .av4 svg{position:absolute;left:-8px;bottom:-8px;width:40px;height:40px;overflow:visible}
107
+ .av4 circle{fill:var(--card)}
108
+ .avk{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
109
+ </style>
110
+ </head>
111
+ <body>
112
+ <div id="root" data-composition-id="bank-dinner-split" data-start="0" data-width="1080" data-height="1080" data-duration="15">
113
+ <section id="s1" class="clip scene" data-start="0" data-duration="3.6">
114
+ <div class="cam" id="c1">
115
+ <i class="pl" style="left:-300px;top:-300px;width:700px;height:1800px;transform:rotate(30deg)"></i>
116
+ <div class="cw" style="top:120px"><div class="row" style="font-size:84px"><p id="h1a">מי משלם</p><div class="hw"><i class="hb" id="hb-h1b"></i><p id="h1b" class="em">על מה?</p></div></div></div>
117
+ <div class="fig m" id="pp0" style="left:155px;top:262px"><i class="hd"></i><i class="bd"></i><i class="nk"></i></div><div class="fig " id="pp1" style="left:335px;top:250px"><i class="hd"></i><i class="bd"></i><i class="nk"></i></div><div class="fig a" id="pp2" style="left:545px;top:262px"><i class="hd"></i><i class="bd"></i><i class="nk"></i></div><div class="fig m" id="pp3" style="left:725px;top:250px"><i class="hd"></i><i class="bd"></i><i class="nk"></i></div>
118
+ <i class="tbl" id="tbl"></i><i class="edge" id="edg"></i><i class="leg" style="left:170px"></i><i class="leg" style="left:882px"></i>
119
+ <div class="plt" id="pt0" style="left:177px"><i class="f1"></i></div><div class="plt" id="pt1" style="left:357px"><i class="f2"></i></div><div class="plt" id="pt2" style="left:567px"><i class="f3"></i></div><div class="plt" id="pt3" style="left:747px"><i class="f4"></i></div>
120
+ <div class="rcs" id="rcs"><i style="top:22px"></i><i style="top:48px;right:44px"></i><i style="top:74px"></i><i style="top:100px;right:56px"></i><p id="rct">480 ₪</p></div>
121
+ <div class="capw"><div class="cap" id="cap1"><i class="mk"></i><div class="ct" id="ct1"><p id="cp1a">ארוחה משותפת?</p><p id="cp1b" class="em">מפצלים בקלות</p></div><i class="cur" id="cu1"></i></div></div>
122
+ </div>
123
+ </section>
124
+ <section id="s2" class="clip scene" data-start="3.6" data-duration="4">
125
+ <div class="cam" id="c2">
126
+ <i class="pl" style="left:700px;top:-300px;width:700px;height:1800px;transform:rotate(-30deg)"></i>
127
+ <div class="cw" style="top:100px"><div class="row" style="font-size:76px"><p id="t2a">מחלקים</p><div class="hw"><i class="hb" id="hb-t2b"></i><p id="t2b" class="em">שווה בשווה</p></div></div></div>
128
+ <div class="qd" id="qd0" style="left:540px;top:230px"><i class="qa" style="background:var(--accent)"></i><p class="t qv" id="qv0">120 ₪</p><p class="t qs" id="qs0">חלק ראשון</p></div><div class="qd" id="qd1" style="left:330px;top:230px"><i class="qa" style="background:var(--fg)"></i><p class="t qv" id="qv1">120 ₪</p><p class="t qs" id="qs1">חלק שני</p></div><div class="qd" id="qd2" style="left:540px;top:530px"><i class="qa" style="background:var(--mute)"></i><p class="t qv" id="qv2">120 ₪</p><p class="t qs" id="qs2">חלק שלישי</p></div><div class="qd" id="qd3" style="left:330px;top:530px"><i class="qa" style="background:var(--accent);opacity:.55"></i><p class="t qv" id="qv3">120 ₪</p><p class="t qs" id="qs3">חלק רביעי</p></div>
129
+ <div class="card rcb" id="rcb">
130
+ <p class="t c" id="r0" style="top:40px;font-size:46px;font-weight:700">החשבון</p>
131
+ <div class="rr" style="top:140px"><p id="r1">מנות עיקריות</p><p id="r1v">320 ₪</p></div>
132
+ <div class="rr" style="top:210px"><p id="r2">שתייה</p><p id="r2v">90 ₪</p></div>
133
+ <div class="rr" style="top:280px"><p id="r3">קינוחים</p><p id="r3v">70 ₪</p></div>
134
+ <i class="dsh"></i>
135
+ <div class="rr tot" style="top:420px"><p id="r4">סה״כ</p><p class="v" id="r4v">480 ₪</p></div>
136
+ </div>
137
+ <i class="cut" id="cv" style="left:537px;top:210px;width:6px;height:640px"></i>
138
+ <i class="cut" id="chz" style="left:310px;top:527px;width:460px;height:6px"></i>
139
+ <p class="t c fine" id="fn2" style="top:775px">נתוני הדגמה</p>
140
+ <div class="capw"><div class="cap" id="cap2"><i class="mk"></i><div class="ct" id="ct2"><p id="cp2a">כל אחד משלם</p><p id="cp2b" class="em">120 ₪</p></div><i class="cur" id="cu2"></i></div></div>
141
+ </div>
142
+ </section>
143
+ <section id="s3" class="clip scene" data-start="7.6" data-duration="4">
144
+ <div class="cam" id="c3">
145
+ <i class="pl" style="left:-300px;top:-300px;width:700px;height:1800px;transform:rotate(30deg)"></i>
146
+ <div class="cw" style="top:100px"><div class="row" style="font-size:76px"><p id="t3a">התשלומים</p><div class="hw"><i class="hb" id="hb-t3b"></i><p id="t3b" class="em">נכנסים</p></div></div></div>
147
+ <div class="card" id="rq" style="left:140px;top:225px;width:800px;height:110px;background:var(--fg)">
148
+ <p class="t" id="q1" style="right:40px;top:16px;font-size:36px;font-weight:700;color:var(--card)">בקשת תשלום נשלחה</p>
149
+ <p class="t" id="q2" style="right:40px;top:62px;font-size:26px;color:color-mix(in srgb,var(--card) 70%,var(--fg))">לשלושה חברים · 120 ₪ לכל אחד</p>
150
+ </div>
151
+ <div class="card nt" id="nt0"><i class="nav" style="background:var(--accent)"><b></b></i><p class="t" id="nh0" style="right:130px;top:16px;font-size:36px;font-weight:700">התקבל תשלום</p><p class="t" id="ns0" style="right:130px;top:66px;font-size:26px;color:var(--mute)">מהשולחן · עכשיו</p><p class="t" id="nv0" style="left:40px;top:30px;font-size:44px;font-weight:700">120 ₪</p></div><div class="card nt" id="nt1"><i class="nav" style="background:var(--fg)"><b></b></i><p class="t" id="nh1" style="right:130px;top:16px;font-size:36px;font-weight:700">התקבל תשלום</p><p class="t" id="ns1" style="right:130px;top:66px;font-size:26px;color:var(--mute)">מהשולחן · עכשיו</p><p class="t" id="nv1" style="left:40px;top:30px;font-size:44px;font-weight:700">120 ₪</p></div><div class="card nt" id="nt2"><i class="nav" style="background:var(--mute)"><b></b></i><p class="t" id="nh2" style="right:130px;top:16px;font-size:36px;font-weight:700">התקבל תשלום</p><p class="t" id="ns2" style="right:130px;top:66px;font-size:26px;color:var(--mute)">מהשולחן · עכשיו</p><p class="t" id="nv2" style="left:40px;top:30px;font-size:44px;font-weight:700">120 ₪</p></div>
152
+ <div class="trk" id="trk"><i id="tk0"></i><i id="tk1"></i><i id="tk2"></i></div>
153
+ <p class="t c" id="all" style="top:836px;font-size:36px;font-weight:700">כולם שילמו</p>
154
+ <div class="capw"><div class="cap" id="cap3"><i class="mk"></i><div class="ct" id="ct3"><p id="cp3a">רואים מי</p><p id="cp3b" class="em">כבר שילם</p></div><i class="cur" id="cu3"></i></div></div>
155
+ </div>
156
+ </section>
157
+ <section id="s4" class="clip scene" data-start="11.6" data-duration="3.4">
158
+ <div class="cam" id="c4">
159
+ <i class="pl" style="left:700px;top:-300px;width:700px;height:1800px;transform:rotate(-30deg)"></i>
160
+ <svg class="okb" id="okb" viewBox="0 0 170 170"><circle id="okc" cx="85" cy="85" r="85"/><polyline id="okt" pathLength="1" points="48,88 74,114 124,60"/></svg>
161
+ <div class="cw" style="top:320px"><div class="row" style="font-size:92px"><p id="e1">סוגרים חשבון</p></div></div>
162
+ <div class="cw" style="top:440px"><div class="row" style="font-size:92px"><div class="hw"><i class="hb" id="hb-e2"></i><p id="e2" class="em">בלי מחשבון</p></div></div></div>
163
+ <div class="av4" id="av0" style="left:318px"><i style="background:var(--accent)"></i><svg viewBox="0 0 40 40"><circle cx="20" cy="20" r="20"/><path class="avk" id="ak0" pathLength="1" d="M11 21l6 6 12-13"/></svg></div><div class="av4" id="av1" style="left:438px"><i style="background:var(--fg)"></i><svg viewBox="0 0 40 40"><circle cx="20" cy="20" r="20"/><path class="avk" id="ak1" pathLength="1" d="M11 21l6 6 12-13"/></svg></div><div class="av4" id="av2" style="left:558px"><i style="background:var(--mute)"></i><svg viewBox="0 0 40 40"><circle cx="20" cy="20" r="20"/><path class="avk" id="ak2" pathLength="1" d="M11 21l6 6 12-13"/></svg></div><div class="av4" id="av3" style="left:678px"><i style="background:var(--accent);opacity:.55"></i><svg viewBox="0 0 40 40"><circle cx="20" cy="20" r="20"/><path class="avk" id="ak3" pathLength="1" d="M11 21l6 6 12-13"/></svg></div>
164
+ <div class="cw" style="top:770px"><div class="cta" id="cta"><i></i><p id="ctat">מפצלים באפליקציה</p></div></div>
165
+ <p class="t c fine" id="fn4" style="top:890px">בכפוף לתנאי השירות · נתוני הדגמה</p>
166
+ </div>
167
+ </section>
168
+ <div id="ov" class="clip" data-start="0" data-duration="15">
169
+ <div class="brand" id="brw"><i class="bm"></i><p id="brand">המותג שלכם</p></div>
170
+ </div>
171
+ </div>
172
+ <script>
173
+ const tl=gsap.timeline({paused:true});
174
+ const S=[0,3.6,7.6,11.6,15],D=15;
175
+ const P="power3.out",X="expo.out",B="back.out(1.7)";
176
+ tl.fromTo("#brw",{opacity:0,y:-16},{opacity:1,y:0,duration:.5,ease:P},.15);
177
+ function capIn(n,at,W,E){tl.fromTo("#cap"+n,{opacity:0,y:24},{opacity:1,y:0,duration:.35,ease:"power2.out"},at);const d=Math.min(1.3,W/700),t0=at+.3;
178
+ tl.fromTo("#ct"+n,{maxWidth:0},{maxWidth:W,duration:d,ease:"steps("+Math.max(8,Math.round(W/28))+")"},t0);
179
+ let r=Math.floor((E-t0-d-.45)/.24);if(r%2===0)r--;if(r>0)tl.fromTo("#cu"+n,{opacity:1},{opacity:0,duration:.24,repeat:r,yoyo:true,ease:"steps(1)"},t0+d);}
180
+ function hl(id,at){tl.fromTo("#hb-"+id,{scaleX:0,transformOrigin:"100% 50%"},{scaleX:1,duration:.5,ease:"power2.inOut"},at);}
181
+ function draw(sel,at,d,e){tl.fromTo(sel,{strokeDasharray:1,strokeDashoffset:1},{strokeDashoffset:0,duration:d,ease:e||"power2.inOut",autoRound:false},at);}
182
+ function fadeOut(i,d){tl.to("#c"+(i+1),{opacity:0,duration:d||.35,ease:"power1.in"},S[i+1]-(d||.35));}
183
+ function camIn(i){tl.fromTo("#c"+(i+1),{opacity:0},{opacity:1,duration:.3},S[i]);}
184
+
185
+ // s1 table from above
186
+ camIn(0);
187
+ tl.fromTo("#c1",{scale:1.04},{scale:1,duration:3.6,ease:"none"},S[0]);
188
+ tl.fromTo(["#h1a","#h1b"],{opacity:0,y:50},{opacity:1,y:0,duration:.55,ease:P,stagger:.14},S[0]+.15);
189
+ hl("h1b",S[0]+.75);
190
+ tl.fromTo("#tbl,#edg,#c1 .leg",{y:60,opacity:0},{y:0,opacity:1,duration:.6,ease:X},S[0]+.2);
191
+ tl.fromTo("#c1 .fig",{y:120,opacity:0},{y:0,opacity:1,duration:.55,ease:X,stagger:.1},S[0]+.35);
192
+ tl.fromTo(".plt",{scale:0},{scale:1,duration:.4,ease:B,stagger:.1},S[0]+.8);
193
+ tl.fromTo("#rcs",{y:-120,opacity:0,rotation:-20},{y:0,opacity:1,rotation:6,duration:.6,ease:B},S[0]+1.3);
194
+ tl.fromTo("#pp1,#pp2",{y:0},{y:-12,duration:.3,yoyo:true,repeat:1,ease:"sine.inOut"},S[0]+1.95);
195
+ capIn(1,S[0]+1.2,520,S[1]);
196
+ fadeOut(0);
197
+ // s2 the bill splits into four shares
198
+ camIn(1);
199
+ tl.fromTo(["#t2a","#t2b"],{opacity:0,y:40},{opacity:1,y:0,duration:.5,ease:P,stagger:.12},S[1]+.1);
200
+ hl("t2b",S[1]+.55);
201
+ tl.fromTo("#rcb",{y:80,opacity:0,rotation:4},{y:0,opacity:1,rotation:0,duration:.6,ease:X},S[1]+.1);
202
+ tl.fromTo("#cv",{scaleY:0,transformOrigin:"50% 0%"},{scaleY:1,duration:.45,ease:"power2.inOut"},S[1]+.9);
203
+ tl.fromTo("#chz",{scaleX:0,transformOrigin:"100% 50%"},{scaleX:1,duration:.45,ease:"power2.inOut"},S[1]+1.15);
204
+ tl.set(".qd",{opacity:0},S[1]);
205
+ tl.set(".qd",{opacity:1},S[1]+1.6);
206
+ tl.set("#rcb",{opacity:0},S[1]+1.62);
207
+ tl.to(["#cv","#chz"],{opacity:0,duration:.2},S[1]+1.6);
208
+ tl.to("#qd0",{left:560,top:270,width:330,height:210,duration:.6,ease:"power3.inOut"},S[1]+1.65+0);
209
+ tl.to("#qd1",{left:190,top:270,width:330,height:210,duration:.6,ease:"power3.inOut"},S[1]+1.65+0.06);
210
+ tl.to("#qd2",{left:560,top:520,width:330,height:210,duration:.6,ease:"power3.inOut"},S[1]+1.65+0.12);
211
+ tl.to("#qd3",{left:190,top:520,width:330,height:210,duration:.6,ease:"power3.inOut"},S[1]+1.65+0.18);
212
+ tl.fromTo(".qd .qa,.qd .qv,.qd .qs",{opacity:0,y:16},{opacity:1,y:0,duration:.35,ease:P,stagger:.04},S[1]+2.25);
213
+ tl.fromTo("#fn2",{opacity:0},{opacity:1,duration:.4},S[1]+2.6);
214
+ capIn(2,S[1]+1.4,400,S[2]);
215
+ fadeOut(1);
216
+ // s3 payment confirmations stack
217
+ camIn(2);
218
+ tl.fromTo(["#t3a","#t3b"],{opacity:0,y:40},{opacity:1,y:0,duration:.5,ease:P,stagger:.12},S[2]+.1);
219
+ hl("t3b",S[2]+.55);
220
+ tl.fromTo("#rq",{y:40,opacity:0},{y:0,opacity:1,duration:.5,ease:P},S[2]+.2);
221
+ tl.fromTo("#trk",{opacity:0},{opacity:1,duration:.3},S[2]+.4);
222
+ tl.set(".nt",{opacity:0},S[2]);
223
+ for(let k=0;k<3;k++){const a=S[2]+.7+k*.7;
224
+ tl.fromTo("#nt"+k,{y:-40,opacity:0},{y:0,opacity:1,duration:.45,ease:P,immediateRender:false},a);
225
+ for(let j=0;j<k;j++)tl.to("#nt"+j,{y:(k-j)*135,duration:.45,ease:P},a);
226
+ tl.fromTo("#tk"+k,{scaleX:0},{scaleX:1,duration:.4,ease:"power2.out"},a+.2);
227
+ tl.fromTo("#nt"+k+" .nav b",{scale:0},{scale:1,duration:.3,ease:B},a+.35);}
228
+ tl.fromTo("#all",{opacity:0,y:20},{opacity:1,y:0,duration:.4,ease:P},S[2]+2.7);
229
+ capIn(3,S[2]+1.2,300,S[3]);
230
+ fadeOut(2);
231
+ // s4 close
232
+ camIn(3);
233
+ tl.fromTo("#okc",{scale:0,transformOrigin:"50% 50%"},{scale:1,duration:.5,ease:B},S[3]+.1);
234
+ draw("#okt",S[3]+.45,.4,"power2.out");
235
+ tl.fromTo(["#e1","#e2"],{opacity:0,y:40},{opacity:1,y:0,duration:.5,ease:P,stagger:.12},S[3]+.25);
236
+ hl("e2",S[3]+.75);
237
+ tl.fromTo(".av4",{scale:0},{scale:1,duration:.4,ease:B,stagger:.08},S[3]+.6);
238
+ for(let k=0;k<4;k++)draw("#ak"+k,S[3]+1+k*.1,.3);
239
+ tl.fromTo("#cta",{scale:.6,opacity:0},{scale:1,opacity:1,duration:.5,ease:B},S[3]+1.1);
240
+ tl.fromTo("#fn4",{opacity:0},{opacity:1,duration:.4},S[3]+1.4);
241
+ tl.set({},{},D);
242
+ window.__timelines=window.__timelines||{};window.__timelines["bank-dinner-split"]=tl;
243
+ </script>
244
+ </body>
245
+ </html>
@@ -0,0 +1,229 @@
1
+ <!doctype html>
2
+ <html lang="he" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=1080, height=1920">
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:1920px;overflow:hidden;background:var(--bg)}
16
+ body{font-family:"Heebo",Arial,sans-serif;-webkit-font-smoothing:antialiased}
17
+ #root{position:relative;width:1080px;height:1920px;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:61.60000000000001px;padding:0 28px;border-radius:30.800000000000004px;background:var(--card);box-shadow:0 6px 20px color-mix(in srgb,var(--ink) 14%,transparent)}
30
+ .brand i{width:16.8px;height:16.8px;border-radius:3px;background:var(--accent);flex:none}
31
+ .brand p{font-size:28px;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:92px;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
+ .coin{position:absolute;left:760px;top:745px;width:110px;height:110px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 40%,transparent)}
70
+ .coin p{font-size:60px;font-weight:700;color:var(--card)}
71
+ .arc{position:absolute;left:200px;top:560px;overflow:visible}
72
+ .arc path{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round}
73
+ .ph{position:absolute;left:220px;top:340px;width:640px;height:1180px;border-radius:76px;background:var(--ink);box-shadow:0 30px 70px color-mix(in srgb,var(--ink) 28%,transparent)}
74
+ .scr{position:absolute;inset:18px;border-radius:60px;background:var(--paper);overflow:hidden}
75
+ .nt{position:absolute;left:245px;top:30px;width:150px;height:34px;border-radius:17px;background:var(--ink)}
76
+ .srch{position:absolute;left:28px;right:28px;top:160px;height:84px;border-radius:42px;background:var(--card)}
77
+ .srch::before{content:"";position:absolute;right:30px;top:24px;width:26px;height:26px;border-radius:50%;border:5px solid var(--mute)}
78
+ .row{position:absolute;left:24px;right:24px;height:128px;border-radius:26px}
79
+ .row.sel{background:var(--card);box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 14%,transparent)}
80
+ .av{position:absolute;right:20px;top:18px;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--mute) 40%,var(--card));overflow:hidden}
81
+ .av::before{content:"";position:absolute;left:29px;top:14px;width:34px;height:34px;border-radius:50%;background:var(--ink)}
82
+ .av::after{content:"";position:absolute;left:12px;top:54px;width:68px;height:64px;border-radius:50%;background:var(--ink)}
83
+ .av.a2::after{background:var(--accent)}
84
+ .ring{position:absolute;right:10px;top:8px;width:112px;height:112px;border-radius:50%;border:6px solid var(--accent)}
85
+ .nm{position:absolute;right:134px;top:20px;font-size:38px;font-weight:700}
86
+ .nm p{font-size:38px;font-weight:700}
87
+ .nu{position:absolute;right:134px;top:72px;direction:ltr;font-size:28px;color:color-mix(in srgb,var(--ink) 55%,var(--paper));white-space:nowrap}
88
+ .tap{position:absolute;width:120px;height:120px;border-radius:50%;background:color-mix(in srgb,var(--ink) 22%,transparent)}
89
+ .rip{position:absolute;width:120px;height:120px;border-radius:50%;border:5px solid var(--accent)}
90
+ .rcp{position:absolute;left:0;right:0;top:80px;display:flex;justify-content:center;align-items:center;gap:18px}
91
+ .rcp .av{position:relative;right:auto;top:auto;flex:none;width:80px;height:80px}
92
+ .rcp .av::before{left:24px;top:12px;width:32px;height:32px}.rcp .av::after{left:10px;top:48px;width:60px;height:56px}
93
+ .amt{position:absolute;left:0;right:0;top:190px;display:flex;justify-content:center;align-items:baseline;gap:14px;direction:rtl}
94
+ .amt p{font-size:150px;font-weight:700;line-height:1.1;color:var(--ink)}
95
+ .amt p+p{font-size:96px;color:var(--accent)}
96
+ .kp{position:absolute;left:40px;right:40px;top:450px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:116px;gap:14px 20px;direction:ltr}
97
+ .ky{position:relative;display:flex;align-items:center;justify-content:center;border-radius:26px;background:var(--card);font-style:normal}
98
+ .ky.e{background:transparent}
99
+ .ky::after{content:attr(data-k);position:relative;font-size:54px;font-weight:700;color:var(--ink)}
100
+ .kh{position:absolute;inset:0;border-radius:26px;background:color-mix(in srgb,var(--accent) 20%,var(--card));box-shadow:inset 0 0 0 5px var(--accent)}
101
+ .snd{left:40px;right:40px;top:1000px;height:110px}
102
+ .snd p{font-size:50px}
103
+ .tk{position:absolute;width:260px;height:260px;border-radius:50%;background:var(--accent);left:270px;top:70px;box-shadow:0 16px 40px color-mix(in srgb,var(--accent) 35%,transparent)}
104
+ .tk svg{position:absolute;left:50px;top:50px;width:160px;height:160px}
105
+ .c2{left:0;right:0;text-align:center}
106
+ </style>
107
+ </head>
108
+ <body>
109
+ <div id="root" data-composition-id="bank-fast-pay" data-start="0" data-width="1080" data-height="1920" data-duration="15.6">
110
+ <section id="s1" class="clip scene" data-start="0" data-duration="3.6">
111
+ <div class="cam" id="c1">
112
+ <i class="bgl" style="left:-200px;top:1500px;transform:rotate(-28deg)"></i><i class="bgl" style="left:300px;top:1900px;transform:rotate(-28deg)"></i>
113
+ <p class="t b" id="h1" style="right:90px;top:190px;font-size:112px">שולחים כסף</p>
114
+ <p class="lab r" id="h2" data-r="-2" style="right:90px;top:340px;font-size:92px">בשלוש נגיעות</p>
115
+ <svg class="arc" width="680" height="300" viewBox="0 0 680 300"><path id="arcp" pathLength="1" d="M615 240Q340-40 65 240"/></svg>
116
+ <div class="fig" id="f1" style="left:700px;top:830px;width:230px;height:286px"><i class="h" style="left:66.7px;top:0;width:96.6px;height:96.6px;background:var(--ink)"></i><i class="bd" style="left:0;top:106.6px;width:230px;height:179.4px;background:var(--ink)"></i></div>
117
+ <div class="fig" id="f2" style="left:150px;top:830px;width:230px;height:286px"><i class="h" style="left:66.7px;top:0;width:96.6px;height:96.6px;background:var(--ink)"></i><i class="bd" style="left:0;top:106.6px;width:230px;height:179.4px;background:var(--mute)"></i></div>
118
+ <div class="coin" id="coin"><p id="coint">₪</p></div>
119
+ <p class="lab w st" id="l1" data-r="-1.5" style="right:90px;top:1200px;font-size:64px">בלי מספר חשבון</p>
120
+ <p class="lab k st" id="l2" data-r="1" style="right:130px;top:1320px;font-size:64px">בלי טפסים</p>
121
+ <p class="lab w st" id="l3" data-r="-1" style="right:90px;top:1440px;font-size:64px">בלי לחכות</p>
122
+ <div class="ltw" style="bottom:120px"><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>
123
+ </div>
124
+ </section>
125
+ <section id="s2" class="clip scene" data-start="3.6" data-duration="4">
126
+ <div class="cam" id="c2">
127
+ <div class="hw" style="right:90px;top:170px"><i class="hl" id="hl2"></i><p id="h3" style="font-size:104px;font-weight:700">בוחרים למי</p></div>
128
+ <div class="ph" id="ph1"><div class="scr"><p class="t b" id="ph1t" style="right:40px;top:76px;font-size:42px">העברה לחבר</p><div class="srch"></div><div class="row" style="top:280px"><i class="av a1"></i><p class="t nm" id="pn0">נועה לוי</p><p class="t nu" id="pd0">050-•••-4521</p></div><div class="row sel" id="rsel" style="top:420px"><i class="av a2"></i><i class="ring" id="ring"></i><div class="hw nm"><i class="ul" id="ul1"></i><p id="pn1">דניאל כהן</p></div><p class="nu" id="pd1">052-•••-1180</p></div><div class="row" style="top:560px"><i class="av a1"></i><p class="t nm" id="pn2">מאיה פרץ</p><p class="t nu" id="pd2">054-•••-7733</p></div><div class="row" style="top:700px"><i class="av a2"></i><p class="t nm" id="pn3">יונתן אברהם</p><p class="t nu" id="pd3">053-•••-2096</p></div><div class="row" style="top:840px"><i class="av a1"></i><p class="t nm" id="pn4">רוני שגיא</p><p class="t nu" id="pd4">058-•••-6402</p></div><i class="tap" id="tap1" style="left:330px;top:440px"></i><i class="rip" id="rip1" style="left:330px;top:440px"></i></div><i class="nt"></i></div>
129
+ <div class="ltw" style="bottom:150px"><div class="lt" id="lt2"><i class="mk"></i><p id="lt2a">בוחרים</p><p class="em" id="lt2b">איש קשר</p><p id="lt2c">מהרשימה</p><i class="cu" id="lt2k"></i></div></div>
130
+ </div>
131
+ </section>
132
+ <section id="s3" class="clip scene" data-start="7.6" data-duration="4.2">
133
+ <div class="cam" id="c3">
134
+ <div class="hw" style="right:90px;top:170px"><i class="hl" id="hl3"></i><p id="h4" style="font-size:104px;font-weight:700">כמה לשלוח?</p></div>
135
+ <div class="ph" id="ph2"><div class="scr"><div class="rcp" id="rcp"><i class="av a2"></i><p id="rcpn" style="font-size:38px;font-weight:700;white-space:nowrap">דניאל כהן</p></div>
136
+ <div class="amt"><p id="amt">120</p><p id="amc">₪</p></div>
137
+ <p class="t c2" id="amn" style="top:372px;font-size:30px;color:color-mix(in srgb,var(--ink) 55%,var(--paper))">העברה מיידית לחשבון</p>
138
+ <div class="kp" id="kp"><i class="ky" data-k="1"><i class="kh" id="kh1"></i></i><i class="ky" data-k="2"><i class="kh" id="kh2"></i></i><i class="ky" data-k="3"></i><i class="ky" data-k="4"></i><i class="ky" data-k="5"></i><i class="ky" data-k="6"></i><i class="ky" data-k="7"></i><i class="ky" data-k="8"></i><i class="ky" data-k="9"></i><i class="ky e" data-k=""></i><i class="ky" data-k="0"><i class="kh" id="kh0"></i></i><i class="ky e" data-k=""></i></div>
139
+ <div class="pill snd" id="snd"><p id="sndt">שליחה</p></div></div><i class="nt"></i></div>
140
+ <div class="ltw" style="bottom:150px"><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>
141
+ </div>
142
+ </section>
143
+ <section id="s4" class="clip scene" data-start="11.8" data-duration="3.8">
144
+ <div class="cam" id="c4">
145
+ <div class="card" id="cd" style="left:140px;top:380px;width:800px;height:800px">
146
+ <div class="tk" id="tk"><svg viewBox="0 0 160 160"><path class="ck" id="ckp" pathLength="1" d="M38 84l28 28 58-62" style="stroke-width:18"/></svg></div>
147
+ <p class="t b c2" id="ok" style="top:350px;font-size:130px">נשלח!</p>
148
+ <p class="t c2" id="oks" style="top:520px;font-size:48px">120 ₪ לדניאל כהן</p>
149
+ <i class="ln" style="left:160px;right:160px;top:630px"></i><i class="ln" style="left:240px;right:240px;top:664px"></i>
150
+ <p class="t c2" id="ref" style="top:700px;font-size:32px;color:color-mix(in srgb,var(--ink) 55%,var(--paper))">אסמכתא 482193</p>
151
+ </div>
152
+ <i class="tape" id="tp1" style="left:90px;top:380px;transform:rotate(-32deg)"></i><i class="tape" id="tp2" style="left:850px;top:380px;transform:rotate(32deg)"></i>
153
+ <div class="cx" style="top:1270px"><p id="e1" style="font-size:96px;font-weight:700">מהיר.</p><div class="hw"><i class="hl" id="hl4"></i><p id="e2" style="font-size:96px;font-weight:700">פשוט.</p></div></div>
154
+ <div class="pill" id="cta" style="left:220px;top:1450px;width:640px;height:124px"><p id="ctat" style="font-size:54px">פותחים באפליקציה</p></div>
155
+ <p class="fine c2" id="fn" style="top:1620px;font-size:32px">בכפוף לתנאי השימוש באפליקציה</p>
156
+ </div>
157
+ </section>
158
+ <div id="ov" class="clip ov" data-start="0" data-duration="15.6">
159
+ <div class="brand" id="brand"><i></i><p id="brt">המותג שלכם</p></div>
160
+ </div>
161
+ </div>
162
+ <script>
163
+ const tl=gsap.timeline({paused:true});
164
+ const S=[0,3.6,7.6,11.8,15.6],D=15.6;
165
+ const X="expo.out",P="power3.out",B="back.out(1.7)",E="power2.inOut";
166
+ function sIn(i){tl.fromTo("#c"+(i+1),{opacity:0},{opacity:1,duration:.35,ease:"power1.out"},S[i]);}
167
+ function sOut(i){tl.to("#c"+(i+1),{opacity:0,duration:.35,ease:"power1.in"},S[i+1]-.35);}
168
+ function LT(id,t){tl.fromTo("#"+id,{y:50,opacity:0},{y:0,opacity:1,duration:.5,ease:P},t);
169
+ tl.fromTo("#"+id+" p",{clipPath:"inset(-30% 0% -30% 100%)"},{clipPath:"inset(-30% 0% -30% 0%)",duration:.55,ease:"none",stagger:.5},t+.2);
170
+ tl.fromTo("#"+id+"k",{opacity:1},{opacity:0,duration:.05,repeat:5,yoyo:true,repeatDelay:.25,ease:"none"},t+.3);}
171
+ function HL(sel,t){tl.fromTo(sel,{scaleX:0},{scaleX:1,duration:.5,ease:P},t);}
172
+ function UP(sel,t,st){tl.fromTo(sel,{y:40,opacity:0},{y:0,opacity:1,duration:.6,ease:P,stagger:st||0},t);}
173
+ 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);}
174
+ 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);}
175
+ tl.fromTo("#brand",{opacity:0,y:-20},{opacity:1,y:0,duration:.5,ease:P},.2);
176
+
177
+ // s1 two figures, coin arc, labels
178
+ sIn(0);
179
+ UP("#h1",S[0]+.15);LAB("#h2",S[0]+.4);
180
+ tl.fromTo(["#f1","#f2"],{scale:0,transformOrigin:"50% 100%"},{scale:1,duration:.55,ease:B,stagger:.15},S[0]+.3);
181
+ DRAW("#arcp",S[0]+.9,.9);
182
+ tl.fromTo("#coin",{scale:0},{scale:1,duration:.35,ease:B},S[0]+.9);
183
+ tl.to("#coin",{keyframes:[{x:-275,y:-140,duration:.6,ease:"sine.out"},{x:-550,y:0,duration:.6,ease:"sine.in"}]},S[0]+1.2);
184
+ tl.fromTo("#f2",{y:0},{y:-24,duration:.18,yoyo:true,repeat:1,ease:"power1.out",immediateRender:false},S[0]+2.4);
185
+ LAB("#c1 .st",S[0]+1.6,.16);
186
+ LT("lt1",S[0]+.5);
187
+ sOut(0);
188
+ // s2 contact list, pick one
189
+ sIn(1);
190
+ UP("#h3",S[1]+.1);HL("#hl2",S[1]+.5);
191
+ tl.fromTo("#ph1",{y:160,opacity:0},{y:0,opacity:1,duration:.8,ease:X},S[1]+.1);
192
+ tl.fromTo("#ph1 .row",{x:60,opacity:0},{x:0,opacity:1,duration:.45,ease:P,stagger:.08},S[1]+.5);
193
+ tl.fromTo("#tap1",{scale:0,opacity:0},{scale:1,opacity:1,duration:.3,ease:P},S[1]+1.5);
194
+ tl.fromTo("#rip1",{scale:.4,opacity:1},{scale:1.8,opacity:0,duration:.7,ease:"power1.out"},S[1]+1.7);
195
+ tl.to("#tap1",{opacity:0,duration:.3},S[1]+2);
196
+ tl.fromTo("#rsel",{scale:1},{scale:1.05,duration:.25,yoyo:true,repeat:1,ease:"power1.inOut"},S[1]+1.7);
197
+ tl.fromTo("#ring",{scale:0},{scale:1,duration:.4,ease:B},S[1]+1.8);
198
+ HL("#ul1",S[1]+2);
199
+ LT("lt2",S[1]+.6);
200
+ sOut(1);
201
+ // s3 amount typed on keypad, send
202
+ sIn(2);
203
+ UP("#h4",S[2]+.1);HL("#hl3",S[2]+.5);
204
+ tl.fromTo("#ph2",{opacity:0},{opacity:1,duration:.4},S[2]);
205
+ tl.fromTo("#rcp",{y:-30,opacity:0},{y:0,opacity:1,duration:.5,ease:P},S[2]+.3);
206
+ tl.fromTo("#kp .ky",{scale:.7,opacity:0},{scale:1,opacity:1,duration:.3,ease:B,stagger:.025},S[2]+.4);
207
+ tl.fromTo("#amt",{clipPath:"inset(-20% 100% -20% 0%)"},{clipPath:"inset(-20% 0% -20% 0%)",duration:1.2,ease:"steps(3)"},S[2]+1.05);
208
+ tl.fromTo("#amc",{opacity:0,scale:.6},{opacity:1,scale:1,duration:.3,ease:B},S[2]+.9);
209
+ ["#kh1","#kh2","#kh0"].forEach((k,i)=>tl.fromTo(k,{opacity:0},{opacity:1,duration:.08,yoyo:true,repeat:1,repeatDelay:.22,ease:"none"},S[2]+1.38+i*.4));
210
+ tl.fromTo("#amn",{opacity:0},{opacity:1,duration:.4},S[2]+2.3);
211
+ tl.fromTo("#snd",{scale:.8,opacity:0},{scale:1,opacity:1,duration:.4,ease:B},S[2]+.8);
212
+ tl.fromTo("#snd",{scale:1},{scale:.92,duration:.15,yoyo:true,repeat:1,immediateRender:false},S[2]+3);
213
+ LT("lt3",S[2]+.6);
214
+ sOut(2);
215
+ // s4 sent card + close
216
+ sIn(3);
217
+ tl.fromTo("#cd",{y:120,opacity:0,rotation:-3},{y:0,opacity:1,rotation:0,duration:.8,ease:X},S[3]+.05);
218
+ tl.fromTo(["#tp1","#tp2"],{opacity:0,scale:1.6},{opacity:1,scale:1,duration:.35,ease:P,stagger:.1},S[3]+.5);
219
+ tl.fromTo("#tk",{scale:0},{scale:1,duration:.5,ease:B},S[3]+.4);
220
+ DRAW("#ckp",S[3]+.75,.5);
221
+ UP(["#ok","#oks","#ref"],S[3]+.6,.12);
222
+ UP(["#e1","#e2"],S[3]+1.3,.15);HL("#hl4",S[3]+1.7);
223
+ tl.fromTo("#cta",{scale:.6,opacity:0},{scale:1,opacity:1,duration:.5,ease:B},S[3]+1.8);
224
+ tl.fromTo("#fn",{opacity:0},{opacity:1,duration:.4},S[3]+2.2);
225
+ tl.set({},{},D);
226
+ window.__timelines=window.__timelines||{};window.__timelines["bank-fast-pay"]=tl;
227
+ </script>
228
+ </body>
229
+ </html>