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,223 @@
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
+ .dc{position:absolute;top:120px;width:100px;height:520px;display:flex;flex-direction:column;gap:12px}
70
+ .dh{height:56px;display:flex;align-items:center;justify-content:center;font-style:normal;border-bottom:4px solid color-mix(in srgb,var(--mute) 45%,var(--card))}
71
+ .dh::after{content:attr(data-d);font-size:36px;font-weight:700;color:var(--ink)}
72
+ .ev{display:block;border-radius:10px;flex:none}
73
+ .ev.k{background:var(--ink)}.ev.m{background:color-mix(in srgb,var(--mute) 60%,var(--card))}.ev.r{background:var(--accent)}
74
+ .lgd{position:absolute;right:44px;top:604px;display:flex;gap:30px;align-items:center}
75
+ .lgd i{width:24px;height:24px;border-radius:5px;flex:none}
76
+ .lgd p{font-size:32px;white-space:nowrap;color:var(--ink);margin-inline-start:-18px}
77
+ .c2{left:0;right:0;text-align:center}
78
+ .gr{color:color-mix(in srgb,var(--ink) 58%,var(--card))}
79
+ .cup{position:absolute;left:100px;top:80px;width:110px;height:120px;border-radius:0 0 30px 30px;background:var(--ink)}
80
+ .cup::before{content:"";position:absolute;right:-42px;top:22px;width:50px;height:56px;border:12px solid var(--ink);border-left:0;border-radius:0 28px 28px 0;box-sizing:border-box}
81
+ .cup::after{content:"";position:absolute;left:24px;top:-56px;width:12px;height:40px;border-radius:6px;background:var(--accent);box-shadow:28px -8px 0 var(--accent),56px 0 0 var(--accent)}
82
+ .bks{position:absolute;left:80px;top:70px;width:160px;height:140px}
83
+ .bks::before{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;border-radius:6px;background:var(--accent);box-shadow:0 -48px 0 -6px var(--ink),0 -94px 0 -2px var(--mute)}
84
+ .hse{position:absolute;left:90px;top:60px;width:140px;height:150px}
85
+ .hse::before{content:"";position:absolute;left:-14px;top:0;width:168px;height:70px;background:var(--accent);clip-path:polygon(50% 0,100% 100%,0 100%)}
86
+ .hse::after{content:"";position:absolute;left:10px;top:70px;width:120px;height:80px;background:linear-gradient(var(--card),var(--card)) 50% 100%/26% 62% no-repeat,var(--ink)}
87
+ .trk{position:absolute;left:50px;right:50px;top:250px;height:58px;border-radius:29px;background:color-mix(in srgb,var(--mute) 25%,var(--card));overflow:hidden}
88
+ .fil{position:absolute;right:0;top:0;bottom:0;width:60%;border-radius:29px;background:var(--accent);transform-origin:100% 50%}
89
+ .gl{position:absolute;left:50px;right:50px;top:604px;height:4px;background:var(--ink)}
90
+ .wb2{position:absolute;bottom:96px;width:70px;border-radius:6px 6px 0 0;transform-origin:50% 100%}
91
+ .wb2.a{background:var(--accent)}.wb2.k{background:var(--ink)}.wb2.g{background:color-mix(in srgb,var(--mute) 60%,var(--card))}
92
+ .pk{position:absolute;left:50px;top:70px;width:90px;height:76px;border:9px solid var(--accent);border-top-width:14px;border-radius:6px 6px 38px 38px;box-sizing:border-box}
93
+ .coin{position:absolute;width:84px;height:84px;border-radius:50%;background:var(--accent);box-shadow:inset 0 0 0 10px color-mix(in srgb,var(--card) 35%,var(--accent)),0 10px 20px color-mix(in srgb,var(--accent) 30%,transparent)}
94
+ .coin::after{content:"";position:absolute;left:34px;top:22px;width:16px;height:40px;border-radius:4px;background:var(--card)}
95
+ .cap{position:absolute;left:60px;top:-16px;width:170px;height:30px;border-radius:6px;background:var(--ink)}
96
+ .cap::after{content:"";position:absolute;right:16px;top:30px;width:10px;height:70px;border-radius:5px;background:var(--accent)}
97
+ .stk{position:absolute;left:400px;bottom:0;width:220px;height:200px}
98
+ .stk::before{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;border-radius:8px;background:var(--ink);box-shadow:16px -64px 0 -4px var(--accent),-6px -124px 0 -8px var(--mute)}
99
+ </style>
100
+ </head>
101
+ <body>
102
+ <div id="root" data-composition-id="bank-student-routine" data-start="0" data-width="1920" data-height="1080" data-duration="16.5">
103
+ <section id="s1" class="clip scene" data-start="0" data-duration="4">
104
+ <div class="cam" id="c1">
105
+ <i class="bgl" style="left:960px;top:40px;transform:rotate(30deg)"></i>
106
+ <div class="card" id="cl" style="left:140px;top:160px;width:880px;height:680px">
107
+ <div class="hw" style="right:44px;top:36px"><i class="ul" id="ul1"></i><p id="ch" style="font-size:48px;font-weight:700">השבוע שלי</p></div>
108
+ <div class="dc" style="right:44px"><i class="dh" data-d="א׳"></i><i class="ev k" style="height:180px"></i><i class="ev m" style="height:120px"></i></div><div class="dc" style="right:156px"><i class="dh" data-d="ב׳"></i><i class="ev k" style="height:240px"></i><i class="ev r" style="height:78px"></i></div><div class="dc" style="right:268px"><i class="dh" data-d="ג׳"></i><i class="ev m" style="height:210px"></i><i class="ev k" style="height:120px"></i></div><div class="dc" style="right:380px"><i class="dh" data-d="ד׳"></i><i class="ev k" style="height:180px"></i><i class="ev r" style="height:78px"></i><i class="ev m" style="height:90px"></i></div><div class="dc" style="right:492px"><i class="dh" data-d="ה׳"></i><i class="ev k" style="height:270px"></i></div><div class="dc" style="right:604px"><i class="dh" data-d="ו׳"></i><i class="ev m" style="height:180px"></i><i class="ev r" style="height:78px"></i></div><div class="dc" style="right:716px"><i class="dh" data-d="ש׳"></i><i class="ev r" style="height:78px"></i></div>
109
+ <div class="lgd"><i style="background:var(--ink)"></i><p id="lg1">הרצאות</p><i style="background:color-mix(in srgb,var(--mute) 60%,var(--card))"></i><p id="lg2">משמרות</p><i style="background:var(--accent)"></i><p id="lg3">הוצאות</p></div>
110
+ </div>
111
+ <i class="tape" id="tp1" style="left:96px;top:156px;transform:rotate(-30deg)"></i><i class="tape" id="tp2" style="left:920px;top:156px;transform:rotate(30deg)"></i>
112
+ <p class="t b" id="h1" style="right:140px;top:200px;font-size:96px">שבוע של</p>
113
+ <p class="lab r" id="h2" data-r="-2" style="right:140px;top:340px;font-size:84px">סטודנטים</p>
114
+ <p class="t" id="h3" style="right:140px;top:500px;font-size:44px">הרצאות, משמרות ומה שביניהם</p>
115
+ <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>
116
+ </div>
117
+ </section>
118
+ <section id="s2" class="clip scene" data-start="4" data-duration="4.5">
119
+ <div class="cam" id="c2">
120
+ <i class="bgl" style="left:-60px;top:990px;transform:rotate(-14deg)"></i>
121
+ <div class="card ex" id="ex0" data-r="-4" style="left:830px;top:280px;width:320px;height:420px"><i class="cup"></i><p class="t b c2" id="xn0" style="top:250px;font-size:56px">קפה</p><p class="t c2 gr" id="xa0" style="top:330px;font-size:34px">180 ₪ בחודש</p></div><i class="tape" id="xt0" style="left:940px;top:262px;transform:rotate(-6deg)"></i><div class="card ex" id="ex1" data-r="2" style="left:470px;top:280px;width:320px;height:420px"><i class="bks"></i><p class="t b c2" id="xn1" style="top:250px;font-size:56px">ספרים</p><p class="t c2 gr" id="xa1" style="top:330px;font-size:34px">250 ₪ בסמסטר</p></div><i class="tape" id="xt1" style="left:580px;top:262px;transform:rotate(6deg)"></i><div class="card ex" id="ex2" data-r="-2" style="left:110px;top:280px;width:320px;height:420px"><i class="hse"></i><p class="t b c2" id="xn2" style="top:250px;font-size:56px">שכירות</p><p class="t c2 gr" id="xa2" style="top:330px;font-size:34px">2,400 ₪ בחודש</p></div><i class="tape" id="xt2" style="left:220px;top:262px;transform:rotate(-6deg)"></i>
122
+ <p class="t b" id="h4" style="right:140px;top:200px;font-size:96px">לאן הולך</p>
123
+ <p class="lab r" id="h5" data-r="-1.5" style="right:140px;top:340px;font-size:84px">הכסף?</p>
124
+ <p class="t" id="h6" style="right:140px;top:500px;font-size:44px">רושמים כל הוצאה קבועה</p>
125
+ <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>
126
+ </div>
127
+ </section>
128
+ <section id="s3" class="clip scene" data-start="8.5" data-duration="4.5">
129
+ <div class="cam" id="c3">
130
+ <div class="win" id="wn" style="left:140px;top:150px;width:860px;height:720px"><i class="wb"></i>
131
+ <i class="pk" id="pk"></i>
132
+ <p class="t b" id="wt" style="right:50px;top:80px;font-size:48px">כיס חיסכון</p>
133
+ <p class="t gr" id="wt2" style="right:50px;top:146px;font-size:30px">יעד: מחשב נייד חדש</p>
134
+ <div class="trk"><i class="fil" id="fil"></i></div>
135
+ <p class="t b" id="sv" style="right:50px;top:330px;font-size:64px">900 ₪</p>
136
+ <p class="t gr" id="sg" style="right:50px;top:416px;font-size:32px">מתוך יעד של 1,500 ₪</p>
137
+ <i class="wb2 g" style="right:70px;height:70px"></i><i class="wb2 k" style="right:190px;height:110px"></i><i class="wb2 g" style="right:310px;height:90px"></i><i class="wb2 k" style="right:430px;height:140px"></i><i class="wb2 g" style="right:550px;height:120px"></i><i class="wb2 a" style="right:670px;height:170px"></i><i class="gl"></i>
138
+ <p class="t gr" id="wkl" style="right:50px;top:630px;font-size:28px">הפקדות שבועיות</p>
139
+ </div>
140
+ <div class="hw" style="right:140px;top:190px"><i class="hl" id="hl3"></i><p id="h7" style="font-size:96px;font-weight:700">שמים בצד קצת</p></div>
141
+ <p class="t" id="h8" style="right:140px;top:340px;font-size:44px">כל שבוע, סכום קטן לכיס</p>
142
+ <p class="fine" id="fn3" style="right:140px;top:420px;font-size:30px">נתוני הדגמה בלבד</p>
143
+ <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><i class="cu" id="lt3k"></i></div></div>
144
+ </div>
145
+ </section>
146
+ <section id="s4" class="clip scene" data-start="13" data-duration="3.5">
147
+ <div class="cam" id="c4">
148
+ <div class="card" id="fc" style="left:180px;top:180px;width:680px;height:640px;overflow:hidden">
149
+ <div class="fig" id="st" style="left:120px;top:300px;width:290px;height:358px"><i class="h" style="left:84.1px;top:0;width:121.8px;height:121.8px;background:var(--ink)"></i><i class="bd" style="left:0;top:131.8px;width:290px;height:226.20000000000002px;background:var(--accent)"></i><i class="cap" id="cap"></i></div>
150
+ <i class="stk" id="stk"></i>
151
+ <i class="coin" style="left:470px;top:250px"></i><i class="coin" style="left:540px;top:150px"></i><i class="coin" style="left:450px;top:70px"></i>
152
+ </div>
153
+ <i class="tape" id="tp3" style="left:136px;top:176px;transform:rotate(-30deg)"></i><i class="tape" id="tp4" style="left:760px;top:176px;transform:rotate(30deg)"></i>
154
+ <p class="t b" id="e1" style="right:140px;top:190px;font-size:104px">לומדים גם</p>
155
+ <p class="lab r" id="e2" data-r="-1.5" style="right:140px;top:340px;font-size:84px">לנהל כסף</p>
156
+ <div class="pill" id="cta" style="right:140px;top:530px;width:600px;height:110px"><p id="ctat" style="font-size:46px">בודקים הטבות לסטודנטים</p></div>
157
+ <p class="fine" id="fn4" style="right:140px;top:690px;font-size:30px">בכפוף לתנאי הבנק ולאישור זכאות</p>
158
+ </div>
159
+ </section>
160
+ <div id="ov" class="clip ov" data-start="0" data-duration="16.5">
161
+ <div class="brand" id="brand"><i></i><p id="brt">המותג שלכם</p></div>
162
+ </div>
163
+ </div>
164
+ <script>
165
+ const tl=gsap.timeline({paused:true});
166
+ const S=[0,4,8.5,13,16.5],D=16.5;
167
+ const X="expo.out",P="power3.out",B="back.out(1.7)",E="power2.inOut";
168
+ function sIn(i){tl.fromTo("#c"+(i+1),{opacity:0},{opacity:1,duration:.35,ease:"power1.out"},S[i]);}
169
+ function sOut(i){tl.to("#c"+(i+1),{opacity:0,duration:.35,ease:"power1.in"},S[i+1]-.35);}
170
+ function LT(id,t){tl.fromTo("#"+id,{y:50,opacity:0},{y:0,opacity:1,duration:.5,ease:P},t);
171
+ tl.fromTo("#"+id+" p",{clipPath:"inset(-30% 0% -30% 100%)"},{clipPath:"inset(-30% 0% -30% 0%)",duration:.55,ease:"none",stagger:.5},t+.2);
172
+ tl.fromTo("#"+id+"k",{opacity:1},{opacity:0,duration:.05,repeat:5,yoyo:true,repeatDelay:.25,ease:"none"},t+.3);}
173
+ function HL(sel,t){tl.fromTo(sel,{scaleX:0},{scaleX:1,duration:.5,ease:P},t);}
174
+ function UP(sel,t,st){tl.fromTo(sel,{y:40,opacity:0},{y:0,opacity:1,duration:.6,ease:P,stagger:st||0},t);}
175
+ 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);}
176
+ 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);}
177
+ tl.fromTo("#brand",{opacity:0,y:-20},{opacity:1,y:0,duration:.5,ease:P},.2);
178
+
179
+ // s1 week calendar
180
+ sIn(0);
181
+ tl.fromTo("#cl",{y:90,opacity:0,rotation:-2},{y:0,opacity:1,rotation:0,duration:.8,ease:X},S[0]+.05);
182
+ tl.fromTo(["#tp1","#tp2"],{opacity:0,scale:1.6},{opacity:1,scale:1,duration:.35,ease:P,stagger:.1},S[0]+.55);
183
+ HL("#ul1",S[0]+.7);
184
+ tl.fromTo("#cl .ev",{scaleY:0,transformOrigin:"50% 0%"},{scaleY:1,duration:.35,ease:P,stagger:.04},S[0]+.7);
185
+ tl.fromTo("#cl .ev.r",{scale:1},{scale:1.12,duration:.2,yoyo:true,repeat:1,stagger:.08,immediateRender:false},S[0]+1.9);
186
+ UP("#cl .lgd",S[0]+1.4);
187
+ UP("#h1",S[0]+.15);LAB("#h2",S[0]+.45);UP("#h3",S[0]+.8);
188
+ LT("lt1",S[0]+1);
189
+ sOut(0);
190
+ // s2 dropped expense cards
191
+ sIn(1);
192
+ tl.fromTo("#c2 .ex",{y:-160,opacity:0,rotation:0},{y:0,opacity:1,rotation:(i,e)=>+e.dataset.r,duration:.6,ease:B,stagger:.3},S[1]+.2);
193
+ tl.fromTo("#c2 .tape",{opacity:0,scale:1.6},{opacity:1,scale:1,duration:.3,ease:P,stagger:.3},S[1]+.65);
194
+ UP("#h4",S[1]+.15);LAB("#h5",S[1]+.45);UP("#h6",S[1]+.8);
195
+ LT("lt2",S[1]+1.1);
196
+ sOut(1);
197
+ // s3 savings pocket
198
+ sIn(2);
199
+ tl.fromTo("#wn",{y:90,opacity:0},{y:0,opacity:1,duration:.8,ease:X},S[2]+.05);
200
+ tl.fromTo("#pk",{scale:0,rotation:-20},{scale:1,rotation:0,duration:.5,ease:B},S[2]+.5);
201
+ tl.fromTo("#fil",{scaleX:0},{scaleX:1,duration:1.3,ease:E},S[2]+.8);
202
+ UP(["#sv","#sg"],S[2]+1.4,.12);
203
+ tl.fromTo("#wn .wb2",{scaleY:0},{scaleY:1,duration:.5,ease:P,stagger:.08},S[2]+1.2);
204
+ UP("#wkl",S[2]+1.6);
205
+ UP("#h7",S[2]+.15);HL("#hl3",S[2]+.6);UP(["#h8","#fn3"],S[2]+.45,.2);
206
+ LT("lt3",S[2]+.9);
207
+ sOut(2);
208
+ // s4 close
209
+ sIn(3);
210
+ tl.fromTo("#fc",{y:90,opacity:0},{y:0,opacity:1,duration:.8,ease:X},S[3]+.05);
211
+ tl.fromTo(["#tp3","#tp4"],{opacity:0,scale:1.6},{opacity:1,scale:1,duration:.35,ease:P,stagger:.1},S[3]+.5);
212
+ tl.fromTo("#st",{y:340},{y:0,duration:.8,ease:X},S[3]+.3);
213
+ tl.fromTo("#cap",{y:-80,rotation:-20,opacity:0},{y:0,rotation:-4,opacity:1,duration:.5,ease:B},S[3]+.9);
214
+ tl.fromTo("#stk",{y:220},{y:0,duration:.6,ease:X},S[3]+.5);
215
+ tl.fromTo("#fc .coin",{y:60,scale:0},{y:0,scale:1,duration:.5,ease:B,stagger:.15},S[3]+.9);
216
+ UP("#e1",S[3]+.2);LAB("#e2",S[3]+.45);
217
+ tl.fromTo("#cta",{scale:.6,opacity:0},{scale:1,opacity:1,duration:.5,ease:B},S[3]+.9);
218
+ tl.fromTo("#fn4",{opacity:0},{opacity:1,duration:.4},S[3]+1.3);
219
+ tl.set({},{},D);
220
+ window.__timelines=window.__timelines||{};window.__timelines["bank-student-routine"]=tl;
221
+ </script>
222
+ </body>
223
+ </html>
@@ -0,0 +1,228 @@
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{--bg:#F4F4F2;--fg:#141A26;--accent:#D7062E;--card:#FFFFFF;--mute:#868D99}
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
+ .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:150px}
68
+ .cap .ct{font-size:38px}
69
+ .phn{position:absolute;left:220px;top:560px;width:640px;height:940px;border-radius:84px;background:var(--fg);box-shadow:0 30px 70px color-mix(in srgb,var(--fg) 25%,transparent)}
70
+ .scr{position:absolute;inset:20px;border-radius:66px;overflow:hidden;background:var(--card)}
71
+ .ntc{position:absolute;left:250px;top:18px;width:140px;height:36px;border-radius:18px;background:var(--fg)}
72
+ .hdr{position:absolute;left:0;right:0;top:0;height:220px;background:color-mix(in srgb,var(--mute) 12%,var(--card))}
73
+ .av{position:absolute;left:250px;top:76px;width:100px;height:100px;border-radius:50%;background:var(--mute)}
74
+ .bub{position:absolute;right:36px;top:330px;width:520px;height:330px;border-radius:36px 8px 36px 36px;background:color-mix(in srgb,var(--mute) 16%,var(--card))}
75
+ .bub p{position:absolute;right:30px;white-space:nowrap;color:var(--fg)}
76
+ .inp{position:absolute;left:30px;right:30px;bottom:44px;height:84px;border-radius:42px;background:color-mix(in srgb,var(--mute) 14%,var(--card))}
77
+ .inp i{position:absolute;left:10px;top:10px;width:64px;height:64px;border-radius:50%;background:var(--accent)}
78
+ .lnk{text-decoration:underline;text-underline-offset:6px}
79
+ .ban{position:absolute;left:24px;right:24px;top:36px;height:110px;border-radius:28px;background:var(--card);box-shadow:0 12px 30px color-mix(in srgb,var(--fg) 18%,transparent);z-index:3}
80
+ .ban i{position:absolute;right:26px;top:30px;width:50px;height:50px;border-radius:12px;background:var(--accent)}
81
+ .big{left:70px;top:520px;width:940px;height:560px}
82
+ .big .t{right:70px}
83
+ .ell{position:absolute;right:30px;top:290px;width:640px;height:150px;overflow:visible}
84
+ .ell ellipse{fill:none;stroke:var(--accent);stroke-width:7}
85
+ .emk{position:absolute;right:658px;top:356px;width:22px;height:22px;background:var(--accent)}
86
+ .sc{left:90px;width:900px;height:300px;overflow:hidden}
87
+ .sbar{position:absolute;left:0;right:0;top:0;height:10px;background:var(--accent)}
88
+ .ico{position:absolute;right:60px;top:75px;width:150px;height:150px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,var(--card))}
89
+ .i1 i{position:absolute;inset:22px;border-radius:50%;background:var(--accent)}
90
+ .i1 b{position:absolute;left:44px;right:44px;top:66px;height:18px;border-radius:4px;background:var(--card)}
91
+ .i2 i{position:absolute;left:34px;top:30px;width:70px;height:70px;border-radius:50%;border:12px solid var(--fg)}
92
+ .i2 b{position:absolute;left:92px;top:90px;width:16px;height:40px;border-radius:6px;background:var(--accent);transform:rotate(-40deg)}
93
+ .i3 i{position:absolute;left:46px;top:24px;width:58px;height:102px;border-radius:14px;background:var(--fg)}
94
+ .i3 b{position:absolute;left:62px;top:84px;width:26px;height:26px;border-radius:50%;background:var(--accent)}
95
+ .lk{position:absolute;left:380px;top:120px;width:140px;height:150px}
96
+ .lk i{position:absolute;left:24px;top:0;width:92px;height:110px;border-radius:46px 46px 0 0;border:16px solid var(--fg);border-bottom:0}
97
+ .lk b{position:absolute;left:0;top:62px;width:140px;height:96px;border-radius:14px;background:var(--accent)}
98
+ </style>
99
+ </head>
100
+ <body>
101
+ <div id="root" data-composition-id="bank-suspicious-sms" data-start="0" data-width="1080" data-height="1920" data-duration="15">
102
+ <section id="s1" class="clip scene" data-start="0" data-duration="3.6">
103
+ <div class="cam" id="c1">
104
+ <i class="pl" style="left:-420px;top:-200px;width:820px;height:2600px;transform:rotate(24deg)"></i>
105
+ <p class="t c" id="h1" style="top:210px;font-size:96px;font-weight:700">קיבלתם הודעה</p>
106
+ <div class="cw" style="top:330px"><div class="row" style="font-size:96px"><div class="hw"><i class="hb" id="hb-h2"></i><p id="h2" class="em">דחופה?</p></div></div></div>
107
+ <div class="phn" id="phn"><div class="scr">
108
+ <div class="hdr"><i class="av"></i></div>
109
+ <p class="t c" id="p1" style="top:182px;font-size:30px;font-weight:700">מספר לא מוכר</p>
110
+ <div class="ban" id="ban"><i></i><p class="t" id="bn1" style="right:96px;top:14px;font-size:30px;font-weight:700">הודעה חדשה</p><p class="t" id="bn2" style="right:96px;top:56px;font-size:28px;color:var(--mute)">החשבון שלכם נחסם...</p></div>
111
+ <p class="t c" id="p2" style="top:270px;font-size:24px;color:var(--mute)">היום 09:41</p>
112
+ <div class="inp"><i></i></div>
113
+ <div class="bub" id="bub">
114
+ <p id="m1" style="top:30px;font-size:36px;font-weight:700">החשבון שלכם נחסם!</p>
115
+ <p id="m2" style="top:96px;font-size:32px">לשחרור מיידי לחצו כאן:</p>
116
+ <p class="lnk" id="m3" style="top:158px;font-size:32px">שחרור-חשבון.קישור</p>
117
+ <p id="m4" style="top:236px;font-size:28px;color:var(--mute)">תוקף הבקשה: 10 דקות</p>
118
+ </div>
119
+ </div><i class="ntc"></i></div>
120
+ <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>
121
+ </div>
122
+ </section>
123
+ <section id="s2" class="clip scene" data-start="3.6" data-duration="3.8">
124
+ <div class="cam" id="c2">
125
+ <i class="pl" style="left:600px;top:-300px;width:800px;height:2600px;transform:rotate(-22deg)"></i>
126
+ <div class="cw" style="top:250px"><div class="row" style="font-size:84px"><p id="t2a">שני סימנים</p><div class="hw"><i class="hb" id="hb-t2b"></i><p id="t2b" class="em">מחשידים</p></div></div></div>
127
+ <div class="card big" id="big"><i class="tape tl"></i><i class="tape tr"></i>
128
+ <p class="t" id="g0" style="top:56px;font-size:32px;color:var(--mute)">מספר לא מוכר · עכשיו</p>
129
+ <div class="row" style="position:absolute;right:70px;top:116px;font-size:62px"><p id="g1">החשבון שלכם</p><div class="hw"><i class="hb" id="hb-g2"></i><p id="g2" class="em">נחסם!</p></div></div>
130
+ <p class="t" id="g3" style="top:220px;font-size:48px">לשחרור מיידי לחצו כאן:</p>
131
+ <p class="t lnk" id="g4" style="top:318px;font-size:54px">שחרור-חשבון.קישור</p>
132
+ <p class="t" id="g5" style="top:446px;font-size:40px;color:var(--mute)">תוקף הבקשה: 10 דקות</p>
133
+ <svg class="ell" viewBox="0 0 640 150"><ellipse id="el" pathLength="1" cx="320" cy="75" rx="312" ry="66"/></svg>
134
+ <i class="emk" id="emk"></i>
135
+ </div>
136
+ <p class="lab" id="lb1" style="right:110px;top:1180px;transform:rotate(-2deg)">לחץ של זמן</p>
137
+ <p class="lab r" id="lb2" style="right:330px;top:1320px;transform:rotate(1.5deg)">קישור לא מוכר</p>
138
+ <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">קישורים</p><p id="cp2c">בהודעות</p></div><i class="cur" id="cu2"></i></div></div>
139
+ </div>
140
+ </section>
141
+ <section id="s3" class="clip scene" data-start="7.4" data-duration="4">
142
+ <div class="cam" id="c3">
143
+ <i class="pl" style="left:-420px;top:-200px;width:820px;height:2600px;transform:rotate(24deg)"></i>
144
+ <div class="cw" style="top:240px"><div class="row" style="font-size:64px"><p id="w1">עוצרים ·</p><p id="w2">בודקים ·</p><p id="w3" class="em">מתקשרים</p></div></div>
145
+ <div class="card sc" id="sc0" style="top:440px"><i class="sbar" id="sbr0"></i><div class="ico i1"><i></i><b></b></div><p class="t" id="sa0" style="right:250px;top:70px;font-size:66px;font-weight:700">1. עוצרים</p><p class="t" id="sz0" style="right:250px;top:170px;font-size:40px;color:var(--mute)">לא לוחצים ולא עונים</p></div><div class="card sc" id="sc1" style="top:790px"><i class="sbar" id="sbr1"></i><div class="ico i2"><i></i><b></b></div><p class="t" id="sa1" style="right:250px;top:70px;font-size:66px;font-weight:700">2. בודקים</p><p class="t" id="sz1" style="right:250px;top:170px;font-size:40px;color:var(--mute)">מה השולח באמת מבקש?</p></div><div class="card sc" id="sc2" style="top:1140px"><i class="sbar" id="sbr2"></i><div class="ico i3"><i></i><b></b></div><p class="t" id="sa2" style="right:250px;top:70px;font-size:66px;font-weight:700">3. מתקשרים</p><p class="t" id="sz2" style="right:250px;top:170px;font-size:40px;color:var(--mute)">למספר שאתם מכירים</p></div>
146
+ <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>
147
+ </div>
148
+ </section>
149
+ <section id="s4" class="clip scene" data-start="11.4" data-duration="3.6">
150
+ <div class="cam" id="c4">
151
+ <i class="pl" style="left:600px;top:-300px;width:800px;height:2600px;transform:rotate(-22deg)"></i>
152
+ <div class="card" id="cl" style="left:90px;top:440px;width:900px;height:800px"><i class="tape tl"></i><i class="tape tr"></i>
153
+ <div class="lk" id="lk"><i></i><b></b></div>
154
+ <p class="t c" id="e1" style="top:350px;font-size:76px;font-weight:700">הבנק לעולם</p>
155
+ <div class="cw" style="top:450px"><div class="row" style="font-size:76px"><div class="hw"><i class="hb" id="hb-e2"></i><p id="e2" class="em">לא יבקש קוד</p></div></div></div>
156
+ <p class="t c" id="e3" style="top:550px;font-size:76px;font-weight:700">בהודעה</p>
157
+ <p class="t c" id="e4" style="top:690px;font-size:38px;color:var(--mute)">בספק? מתקשרים למספר שאתם מכירים</p>
158
+ </div>
159
+ <div class="cw" style="top:1340px"><div class="cta" id="cta"><i></i><p id="ctat">שומרים על החשבון</p></div></div>
160
+ <div class="capw"><div class="cap" id="cap4"><i class="mk"></i><div class="ct" id="ct4"><p id="cp4a">שתפו את</p><p id="cp4b" class="em">מי שחשוב לכם</p></div><i class="cur" id="cu4"></i></div></div>
161
+ </div>
162
+ </section>
163
+ <div id="ov" class="clip" data-start="0" data-duration="15">
164
+ <div class="brand" id="brw"><i class="bm"></i><p id="brand">המותג שלכם</p></div>
165
+ </div>
166
+ </div>
167
+ <script>
168
+ const tl=gsap.timeline({paused:true});
169
+ const S=[0,3.6,7.4,11.4,15],D=15;
170
+ const P="power3.out",X="expo.out",B="back.out(1.7)";
171
+ tl.fromTo("#brw",{opacity:0,y:-16},{opacity:1,y:0,duration:.5,ease:P},.15);
172
+ 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;
173
+ tl.fromTo("#ct"+n,{maxWidth:0},{maxWidth:W,duration:d,ease:"steps("+Math.max(8,Math.round(W/28))+")"},t0);
174
+ 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);}
175
+ function hl(id,at){tl.fromTo("#hb-"+id,{scaleX:0,transformOrigin:"100% 50%"},{scaleX:1,duration:.5,ease:"power2.inOut"},at);}
176
+ function draw(sel,at,d,e){tl.fromTo(sel,{strokeDasharray:1,strokeDashoffset:1},{strokeDashoffset:0,duration:d,ease:e||"power2.inOut",autoRound:false},at);}
177
+ function fadeOut(i,d){tl.to("#c"+(i+1),{opacity:0,duration:d||.35,ease:"power1.in"},S[i+1]-(d||.35));}
178
+ function camIn(i){tl.fromTo("#c"+(i+1),{opacity:0},{opacity:1,duration:.3},S[i]);}
179
+
180
+ // s1 phone buzzes
181
+ camIn(0);
182
+ tl.fromTo("#h1",{opacity:0,y:40},{opacity:1,y:0,duration:.5,ease:P},S[0]+.1);
183
+ tl.fromTo("#h2",{opacity:0,y:40},{opacity:1,y:0,duration:.5,ease:P},S[0]+.25);
184
+ hl("h2",S[0]+.7);
185
+ tl.fromTo("#phn",{y:260,opacity:0},{y:0,opacity:1,duration:.8,ease:X},S[0]+.1);
186
+ tl.fromTo("#ban",{y:-200},{y:0,duration:.45,ease:B},S[0]+.8);
187
+ tl.fromTo("#phn",{rotation:0},{keyframes:[{rotation:-2.5,duration:.06},{rotation:2.5,duration:.06},{rotation:-2,duration:.06},{rotation:2,duration:.06},{rotation:-1,duration:.06},{rotation:0,duration:.06}]},S[0]+.85);
188
+ tl.to("#ban",{y:-200,duration:.35,ease:"power2.in"},S[0]+1.6);
189
+ tl.fromTo("#bub",{scale:.3,opacity:0,transformOrigin:"100% 0%"},{scale:1,opacity:1,duration:.5,ease:B},S[0]+1.8);
190
+ tl.fromTo("#phn",{rotation:0},{keyframes:[{rotation:-2,duration:.06},{rotation:2,duration:.06},{rotation:-1,duration:.06},{rotation:0,duration:.06}]},S[0]+2.4);
191
+ capIn(1,S[0]+1.2,520,S[1]);
192
+ fadeOut(0);
193
+ // s2 enlarged message, red circle on the fake link
194
+ camIn(1);
195
+ tl.fromTo(["#t2a","#t2b"],{opacity:0,y:30},{opacity:1,y:0,duration:.45,ease:P,stagger:.1},S[1]+.1);
196
+ hl("t2b",S[1]+.5);
197
+ tl.fromTo("#big",{scale:.8,opacity:0,rotation:-3},{scale:1,opacity:1,rotation:-1,duration:.7,ease:X},S[1]+.1);
198
+ tl.fromTo("#big .tape",{scale:0},{scale:1,duration:.3,ease:B,stagger:.1},S[1]+.55);
199
+ hl("g2",S[1]+.9);
200
+ tl.fromTo("#lb1",{scale:.5,opacity:0},{scale:1,opacity:1,duration:.4,ease:B},S[1]+1.1);
201
+ draw("#el",S[1]+1.4,.6,"power2.inOut");
202
+ tl.fromTo("#emk",{scale:0},{scale:1,duration:.3,ease:B},S[1]+1.35);
203
+ tl.fromTo("#lb2",{scale:.5,opacity:0},{scale:1,opacity:1,duration:.4,ease:B},S[1]+1.9);
204
+ capIn(2,S[1]+1.5,560,S[2]);
205
+ fadeOut(1);
206
+ // s3 stop, check, call
207
+ camIn(2);
208
+ tl.fromTo(["#w1","#w2","#w3"],{opacity:.18},{opacity:1,duration:.3,stagger:.5},S[2]+.4);
209
+ tl.fromTo(".sc",{x:-200,opacity:0},{x:0,opacity:1,duration:.5,ease:X,stagger:.5},S[2]+.3);
210
+ for(let k=0;k<3;k++){tl.fromTo("#sbr"+k,{scaleX:0,transformOrigin:"100% 50%"},{scaleX:1,duration:.4,ease:"power2.out"},S[2]+.6+k*.5);tl.fromTo("#sc"+k+" .ico",{scale:0},{scale:1,duration:.4,ease:B},S[2]+.55+k*.5);}
211
+ capIn(3,S[2]+1.9,460,S[3]);
212
+ fadeOut(2);
213
+ // s4 calm close
214
+ camIn(3);
215
+ tl.fromTo("#cl",{y:120,opacity:0},{y:0,opacity:1,duration:.7,ease:X},S[3]+.05);
216
+ tl.fromTo("#cl .tape",{scale:0},{scale:1,duration:.3,ease:B,stagger:.1},S[3]+.5);
217
+ tl.fromTo("#lk",{y:-60,opacity:0},{y:0,opacity:1,duration:.5,ease:"bounce.out"},S[3]+.4);
218
+ tl.fromTo("#lk i",{y:-24},{y:0,duration:.3,ease:"power2.in"},S[3]+1.1);
219
+ tl.fromTo(["#e1","#e2","#e3"],{opacity:0,y:30},{opacity:1,y:0,duration:.45,ease:P,stagger:.12},S[3]+.6);
220
+ hl("e2",S[3]+1.1);
221
+ tl.fromTo("#e4",{opacity:0},{opacity:1,duration:.4},S[3]+1.4);
222
+ tl.fromTo("#cta",{scale:.6,opacity:0},{scale:1,opacity:1,duration:.5,ease:B},S[3]+1.6);
223
+ capIn(4,S[3]+1.9,420,S[3]+3.6);
224
+ tl.set({},{},D);
225
+ window.__timelines=window.__timelines||{};window.__timelines["bank-suspicious-sms"]=tl;
226
+ </script>
227
+ </body>
228
+ </html>