/* ============================================================
   SCALY — Light edition · RTL · White / Black / Color
   Self-hosted Rubik (display) + Noto Sans Hebrew (text)
   ============================================================ */
@font-face{
  font-family:'Rubik';
  src:url('assets/fonts/Rubik.ttf') format('truetype');
  font-weight:300 900; font-display:swap; font-style:normal;
}
@font-face{
  font-family:'Noto Sans Hebrew';
  src:url('assets/fonts/NotoSansHebrew.ttf') format('truetype');
  font-weight:100 900; font-display:swap; font-style:normal;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
:root{
  --bg:#ffffff;
  --bg-soft:#F4F4F1;
  --text:#111114;
  --text-2:#33333A;
  --muted:#62626B;
  --faint:#9A9AA2;
  --line:rgba(17,17,20,.12);
  --line-soft:rgba(17,17,20,.07);
  --black:#111114;
  --green:#57D98E;
  --green-soft:#E9FBF1;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --expo:cubic-bezier(0.16,1,0.3,1);
  --fade:cubic-bezier(0.25,0.1,0.25,1);
}
html{ background:var(--bg); scroll-behavior:smooth; }
html,body,#root{ background:var(--bg); }
body{
  font-family:'Noto Sans Hebrew','Rubik',system-ui,sans-serif;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
h1,h2,h3,h4,.eyebrow,.kicker,.btn,.plan-badge,.idx,.pnum,.st-logo{ font-family:'Rubik','Noto Sans Hebrew',sans-serif; }
::selection{ background:var(--black); color:#fff; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
ul{ list-style:none; }

/* utility */
.lime-text{ color:var(--green); -webkit-text-fill-color:currentColor; }
.glass{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(16px) saturate(1.4); -webkit-backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid rgba(17,17,20,.07);
}
.grain{ display:none; }
.mask-fade-x{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}

/* ambient — faint warm color wash, kept subtle on white */
.ambient{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.ambient .radial{
  position:absolute; inset:0;
  background:radial-gradient(60% 42% at 50% -4%, rgba(87,217,142,.07), transparent 70%);
}
.orb{ display:none; }

.wrap{ width:100%; max-width:1200px; margin:0 auto; padding:0 22px; }
main{ position:relative; z-index:2; }
section{ position:relative; }

/* ============================================================ NAV */
.nav{ position:fixed; top:14px; inset-inline:0; z-index:50; display:flex; justify-content:center; padding:0 16px; pointer-events:none; }
.nav-pill{
  pointer-events:auto; width:100%; max-width:1200px; height:60px;
  display:flex; align-items:center; justify-content:space-between;
  border-radius:999px; padding:0 12px; transition:all .3s var(--ease-out);
}
@media(min-width:768px){ .nav-pill{ padding:0 16px 0 10px; } }
.nav.scrolled .nav-pill{ height:54px; background:rgba(255,255,255,.85); box-shadow:0 8px 30px rgba(17,17,20,.10); border-color:rgba(17,17,20,.06); }
.nav-logo{ display:flex; align-items:center; padding-inline-start:8px; transition:transform .25s var(--ease-out); }
.nav-logo:hover{ transform:scale(1.04); }
.nav-logo img{ height:22px; width:auto; }
.nav-links{ display:none; gap:30px; align-items:center; }
@media(min-width:880px){ .nav-links{ display:flex; } }
.nav-links a{ position:relative; color:var(--muted); font-size:14.5px; font-weight:500; padding:6px 2px; transition:color .2s var(--ease-out); }
.nav-links a::after{ content:""; position:absolute; bottom:-2px; inset-inline:50% 50%; height:2px; border-radius:2px; background:var(--black); transition:inset .25s var(--ease-out), opacity .25s; opacity:0; }
.nav-links a:hover{ color:var(--text); }
.nav-links a:hover::after{ inset-inline:0 0; opacity:1; }
.nav-end{ display:flex; align-items:center; gap:10px; }
.nav-burger{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; color:var(--text); }
@media(min-width:880px){ .nav-burger{ display:none; } }

.mobile-menu{
  position:fixed; inset:0; z-index:100; background:rgba(255,255,255,.97); backdrop-filter:blur(18px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px;
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease-out), visibility .35s;
}
.mobile-menu.open{ opacity:1; visibility:visible; }
.mobile-menu a{ font-size:30px; font-weight:600; color:var(--text); opacity:0; transform:translateY(20px); font-family:'Rubik',sans-serif; }
.mobile-menu.open a{ animation:mmIn .5s var(--expo) forwards; }
@keyframes mmIn{ to{ opacity:1; transform:none; } }
.mobile-menu .mm-close{ position:absolute; top:22px; inset-inline-start:22px; color:var(--text); }
.mobile-menu .mm-cta{ margin-top:8px; }

/* ============================================================ BUTTONS · Geist / flat
   Rectangular, small radii, crisp borders, bg-shift hover, focus ring. */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; height:40px; padding:0 16px; border-radius:8px; border:1px solid transparent; font-family:'Rubik','Noto Sans Hebrew',sans-serif; font-weight:500; white-space:nowrap; font-size:14px; line-height:1; transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.btn:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--green); }
.btn:active{ transform:translateY(.5px); }
.btn-sm{ height:34px; padding:0 12px; font-size:13.5px; border-radius:7px; }
.btn-lg{ height:48px; padding:0 22px; font-size:15px; border-radius:10px; }
.btn-primary{ background:#171717; color:#fff; }
.btn-primary:hover{ background:#383838; }
.btn-ghost{ background:#fff; color:#171717; border-color:rgba(0,0,0,.10); box-shadow:0 1px 2px rgba(0,0,0,.04); }
.btn-ghost:hover{ background:rgba(0,0,0,.05); border-color:rgba(0,0,0,.14); }
.btn-ghost-lime{ background:#fff; color:var(--green); border-color:rgba(87,217,142,.32); }
.btn-ghost-lime:hover{ background:var(--green-soft); border-color:rgba(87,217,142,.5); }

/* radial cursor-fill effect — keeps the rectangular Geist shape, clipped to the border-radius */
.btn{ position:relative; overflow:hidden; isolation:isolate; }
.btn-origin-fill{ position:absolute; border-radius:50%; transform:translate(-50%,-50%) scale(0); transition:transform .5s cubic-bezier(.16,1,.3,1); pointer-events:none; z-index:0; will-change:transform; }
.btn-origin-label{ position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.btn-primary .btn-origin-fill{ background:#fff; }
.btn-primary.is-filling{ color:#171717; }
.btn-ghost .btn-origin-fill{ background:#171717; }
.btn-ghost.is-filling{ color:#fff; border-color:#171717; }
.btn-ghost-lime .btn-origin-fill{ background:var(--green); }
.btn-ghost-lime.is-filling{ color:#fff; border-color:var(--green); }
.plan-pop .btn-primary .btn-origin-fill{ background:#171717; }
.plan-pop .btn-primary.is-filling{ color:#fff; }
.btn-wa .btn-origin-fill{ background:#0d8a44; }
@media (hover:none){ .btn-origin-fill{ display:none; } }
.magnetic{ will-change:transform; }

/* ============================================================ HERO */
.hero{ position:relative; background:var(--bg); display:flex; flex-direction:column; align-items:center; text-align:center; padding:150px 22px 64px; overflow:hidden; }
.hero-dots{ display:none; }
.hero-inner{ position:relative; z-index:3; width:100%; max-width:1000px; display:flex; flex-direction:column; align-items:center; }
.eyebrow{ display:inline-flex; align-items:center; gap:9px; border-radius:999px; padding:8px 18px; margin-bottom:30px; font-size:12.5px; letter-spacing:.01em; font-weight:500; color:var(--text-2); background:#fff; border:1px solid var(--line); box-shadow:0 2px 10px rgba(17,17,20,.04); }
.eyebrow .dot{ width:8px; height:8px; border-radius:50%; background:var(--green); animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.4; transform:scale(.8); } }
.hero h1{ font-weight:600; line-height:.99; letter-spacing:-.025em; font-size:clamp(2.9rem,8.4vw,108px); max-width:15ch; margin:0 auto 26px; color:var(--text); }
.hero h1 .line{ display:block; overflow:hidden; padding-block:.04em; }
.hero h1 .line > span{ display:block; transform:translateY(118%); transition:transform 1s var(--expo); }
.hero.in h1 .line > span{ transform:none; }
.hero.in h1 .line:nth-child(2) > span{ transition-delay:.1s; }
.hero .eyebrow, .hero-sub, .hero-cta{ opacity:0; transform:translateY(16px); transition:opacity .7s var(--expo), transform .7s var(--expo); }
.hero.in .eyebrow{ opacity:1; transform:none; transition-delay:.05s; }
.hero.in .hero-sub{ opacity:1; transform:none; transition-delay:.34s; }
.hero.in .hero-cta{ opacity:1; transform:none; transition-delay:.44s; }
.hero-sub{ color:var(--muted); font-size:clamp(1.02rem,1.5vw,1.22rem); font-weight:400; line-height:1.7; max-width:540px; margin:0 auto 36px; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:0; }

/* hero showcase card */
.hero-show{ position:relative; width:100%; max-width:1120px; margin:64px auto 0; z-index:2; opacity:0; transform:translateY(40px) scale(.98); transition:opacity 1s var(--expo) .15s, transform 1s var(--expo) .15s; }
.hero.in .hero-show{ opacity:1; transform:none; }
.hero-show .bed{ position:absolute; inset-inline:6%; bottom:-26px; height:120px; filter:blur(58px); background:rgba(87,217,142,.4); border-radius:999px; z-index:-1; }
.hero-show-card{ position:relative; border-radius:26px; overflow:hidden; box-shadow:0 40px 110px rgba(17,17,20,.26), 0 2px 0 0 rgba(255,255,255,.6) inset; border:1px solid rgba(17,17,20,.08); animation:floaty 8s ease-in-out infinite; }
.hero-show-card img{ width:100%; height:auto; display:block; }
@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }

.scroll-hint{ display:none; }

/* ============================================================ MARQUEE */
.marquee-sec{ background:var(--bg); padding:40px 0; border-block:1px solid var(--line-soft); overflow:hidden; }
.marquee-kicker{ text-align:center; color:var(--faint); font-size:11px; text-transform:uppercase; letter-spacing:.25em; margin-bottom:28px; }
.marquee{ overflow:hidden; }
.marquee + .marquee{ margin-top:16px; }
.mq-track{ display:flex; width:max-content; gap:12px; direction:ltr; will-change:transform; }
.mq-a .mq-track{ animation:mqL 38s linear infinite; }
.mq-b .mq-track{ animation:mqR 46s linear infinite; }
.marquee:hover .mq-track{ animation-play-state:paused; }
@keyframes mqL{ from{ transform:translateX(0); } to{ transform:translateX(-33.333%); } }
@keyframes mqR{ from{ transform:translateX(-33.333%); } to{ transform:translateX(0); } }
.mq-pill{ flex:0 0 auto; display:inline-flex; align-items:center; color:var(--text-2); font-size:15px; font-weight:500; padding:8px 20px; border-radius:999px; background:#fff; border:1px solid var(--line); }

/* ============================================================ SECTION HEAD */
.sec{ background:var(--bg); padding:104px 22px; }
.sec-head{ text-align:center; max-width:780px; margin:0 auto; }
.kicker{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:.04em; margin-bottom:16px; color:var(--green); }
.sec-head h2{ font-weight:600; line-height:1.05; letter-spacing:-.025em; color:var(--text); }
.sec-head .h-lg{ font-size:clamp(2.1rem,5vw,3.5rem); }
.sec-head .h-md{ font-size:clamp(1.9rem,4vw,3rem); }
.sec-head p{ color:var(--muted); margin-top:18px; font-size:clamp(1rem,1.4vw,1.14rem); line-height:1.7; }

/* ============================================================ WORK SHOWCASE */
.work{ background:var(--bg); padding:116px 22px; position:relative; }
.work::before{ content:""; position:absolute; top:0; inset-inline:18%; height:1px; background:linear-gradient(90deg,transparent,var(--line),transparent); }
.work-top-glow{ display:none; }
.work-stack{ display:flex; flex-direction:column; gap:120px; margin:66px auto 0; max-width:1200px; }
.work-row{ display:flex; flex-direction:column; gap:34px; }
@media(min-width:900px){ .work-row{ flex-direction:row; align-items:center; gap:56px; } .work-row.rev{ flex-direction:row-reverse; } }

.cluster{ position:relative; width:100%; }
@media(min-width:900px){ .cluster{ flex:0 0 60%; max-width:60%; } }
.cluster .desk-float{ animation:floaty 6.5s ease-in-out infinite; }

.dframe{ position:relative; width:100%; border-radius:16px; overflow:hidden; box-shadow:0 30px 80px rgba(17,17,20,.16); background:#fff; border:1px solid rgba(17,17,20,.10); }
.dframe .chrome{ height:38px; background:#F1F1EF; display:flex; align-items:center; padding:0 14px; gap:8px; position:relative; border-bottom:1px solid rgba(17,17,20,.06); }
.dframe .chrome .dot{ width:11px; height:11px; border-radius:50%; opacity:.95; }
.dframe .chrome .url{ position:absolute; inset-inline:0; margin:0 auto; width:max-content; max-width:60%; direction:ltr; font-size:10px; color:var(--muted); padding:5px 16px; border-radius:999px; background:#fff; border:1px solid var(--line); }
.dframe .view{ position:relative; height:300px; overflow:hidden; }
@media(min-width:768px){ .dframe .view{ height:392px; } }
.dframe .view::before, .dframe .view::after{ content:""; position:absolute; inset-inline:0; height:30px; z-index:4; pointer-events:none; }
.dframe .view::before{ top:0; background:linear-gradient(180deg,rgba(255,255,255,.5),transparent); }
.dframe .view::after{ bottom:0; background:linear-gradient(0deg,rgba(255,255,255,.55),transparent); }
.scroller{ position:absolute; top:0; inset-inline:0; transition:transform .8s var(--ease-out); will-change:transform; }
.scroller .shot-img{ display:block; width:100%; height:auto; }
.group.hovering .dframe .scroller{ transition:transform 12s linear; }

.pframe{ position:absolute; bottom:-32px; inset-inline-start:-22px; z-index:20; width:122px; border-radius:28px; box-shadow:0 26px 56px rgba(17,17,20,.28); background:#15161a; padding:6px; }
@media(min-width:768px){ .pframe{ width:152px; } }
.pframe .island{ position:absolute; top:11px; inset-inline:0; margin:0 auto; width:54px; height:15px; background:#000; border-radius:20px; z-index:6; }
.pframe .pview{ position:relative; border-radius:22px; overflow:hidden; height:232px; }
@media(min-width:768px){ .pframe .pview{ height:292px; } }
.pframe .pview .scroller{ transition:transform .8s var(--ease-out); }
.group.hovering .pframe .scroller{ transition:transform 11s linear; }
.live-chip{ position:absolute; top:12px; inset-inline-end:10px; z-index:8; display:inline-flex; align-items:center; gap:5px; font-size:9px; font-weight:700; letter-spacing:.08em; color:#fff; background:var(--green); padding:4px 9px; border-radius:999px; box-shadow:0 4px 12px rgba(87,217,142,.4); }
.live-chip .d{ width:5px; height:5px; border-radius:50%; background:#fff; animation:pulse 1.4s infinite; }
@media(max-width:359px){ .pframe{ display:none; } }

.work-text{ flex:1; }
.work-text .idx{ font-weight:800; line-height:1; font-size:clamp(2.2rem,4vw,3.4rem); color:var(--green); }
.work-text h3{ color:var(--text); font-weight:600; font-size:clamp(1.5rem,2.4vw,2.05rem); margin:6px 0 16px; letter-spacing:-.015em; }
.work-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.work-tags .chip{ font-size:12.5px; padding:7px 15px; }
.work-results{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; direction:ltr; }
.res{ font-size:14px; font-weight:700; padding:7px 15px; border-radius:999px; border:1px solid var(--line); }
.res.lime{ color:var(--green); border-color:rgba(87,217,142,.3); background:var(--green-soft); }
.res.white{ color:var(--text); background:#fff; }
.res.mute{ color:var(--muted); }
.work-text .outcome{ color:var(--muted); font-size:15.5px; line-height:1.65; margin-bottom:22px; max-width:46ch; }
.work-close{ text-align:center; margin-top:78px; }

.chip{ display:inline-flex; align-items:center; border-radius:999px; padding:8px 16px; font-size:13px; color:var(--text-2); background:#fff; border:1px solid var(--line); transition:all .25s var(--ease-out); }
.chip:hover{ background:var(--black); color:#fff; border-color:var(--black); }
.chip-logo{ gap:7px; }
.chip-logo svg{ flex:none; }

/* ============================================================ PROCESS */
.sec.process-sec, #process{ background:var(--bg-soft); }
.process-grid{ position:relative; max-width:1040px; margin:58px auto 0; display:grid; grid-template-columns:1fr; gap:20px; }
@media(min-width:768px){ .process-grid{ grid-template-columns:repeat(3,1fr); } }
.process-grid::before{ content:""; position:absolute; top:44px; inset-inline:10%; height:2px; z-index:0; background:linear-gradient(90deg,transparent,rgba(87,217,142,.5),rgba(87,217,142,.5),transparent); transform:scaleX(0); transform-origin:right; transition:transform 1.1s var(--expo); }
@media(max-width:767px){ .process-grid::before{ display:none; } }
.process-grid.in::before{ transform:scaleX(1); }
.pstep{ position:relative; z-index:1; border-radius:24px; padding:34px; background:#fff; border:1px solid var(--line); box-shadow:0 1px 0 rgba(17,17,20,.02); transition:transform .35s var(--ease-out), box-shadow .35s, border-color .3s; }
.pstep:hover{ transform:translateY(-6px); border-color:rgba(17,17,20,.18); box-shadow:0 22px 50px rgba(17,17,20,.12); }
.tile-ico{ display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:15px; margin-bottom:18px; }
.pstep .tile-ico{ background:var(--green-soft); color:var(--green); }
.pstep .pnum{ font-weight:800; font-size:40px; line-height:1; color:var(--text); opacity:.14; position:absolute; top:28px; inset-inline-start:30px; }
.pstep h3{ color:var(--text); font-weight:600; font-size:19px; margin:6px 0 10px; }
.pstep p{ color:var(--muted); font-size:15px; line-height:1.6; }

/* ============================================================ PRICING */
.price-grid{ display:grid; grid-template-columns:1fr; gap:20px; max-width:1100px; margin:58px auto 0; align-items:stretch; }
@media(min-width:768px){ .price-grid{ grid-template-columns:repeat(3,1fr); } }
.plan{ display:flex; flex-direction:column; border-radius:28px; padding:34px; }
.plan-glass{ background:#fff; border:1px solid var(--line); box-shadow:0 1px 0 rgba(17,17,20,.02); }
.plan-pop{ position:relative; background:var(--black); color:#fff; box-shadow:0 30px 70px rgba(17,17,20,.3); }
@media(max-width:767px){ .plan-pop{ margin-top:18px; } }
.plan-badge{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.14em; padding:6px 13px; border-radius:999px; margin-bottom:16px; }
.bd-default{ background:var(--bg-soft); color:var(--muted); }
.bd-lime{ background:rgba(255,255,255,.12); color:#fff; }
.bd-pro{ background:#fff; color:var(--text); border:1px solid var(--line); }
.pop-flag{ position:absolute; top:-13px; inset-inline:0; margin:0 auto; width:max-content; white-space:nowrap; background:var(--green); color:#fff; font-size:11px; font-weight:700; border-radius:999px; padding:6px 17px; box-shadow:0 6px 18px rgba(87,217,142,.4); }
.plan .who{ font-size:14px; margin-bottom:14px; color:var(--muted); }
.plan-pop .who{ color:rgba(255,255,255,.6); }
.plan .price{ direction:ltr; text-align:end; }
.plan .price .amt{ color:var(--text); font-size:31px; font-weight:800; font-family:'Rubik',sans-serif; }
.plan-pop .price .amt{ color:#fff; }
.plan .price .dur{ color:var(--faint); font-size:13px; margin-top:3px; }
.plan-pop .price .dur{ color:rgba(255,255,255,.5); }
.plan .divider{ height:1px; background:var(--line); margin:22px 0; }
.plan-pop .divider{ background:rgba(255,255,255,.16); }
.plan ul{ display:flex; flex-direction:column; gap:13px; margin-bottom:28px; }
.plan ul li{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:var(--text-2); }
.plan-pop ul li{ color:rgba(255,255,255,.82); }
.plan ul li .ck{ flex:0 0 auto; color:var(--green); display:flex; margin-top:1px; }
.plan-pop ul li .ck{ color:#fff; }
.plan .btn{ margin-top:auto; width:100%; }
.plan-pop .btn-primary{ background:#fff; color:#171717; }
.plan-pop .btn-primary:hover{ background:#e6e6e3; }

/* ============================================================ TESTIMONIALS */
.testi{ background:var(--bg-soft); padding:88px 0; overflow:hidden; }
.testi-track{ display:flex; width:max-content; gap:20px; direction:ltr; animation:mqL 52s linear infinite; }
.testi:hover .testi-track, .t-marquee:hover .testi-track{ animation-play-state:paused; }
.tcard{ flex:0 0 auto; width:350px; border-radius:22px; padding:26px; background:#fff; border:1px solid var(--line); box-shadow:0 2px 8px rgba(17,17,20,.03); }
.tcard .stars{ display:flex; gap:3px; color:#F5A623; margin-bottom:14px; font-size:15px; }
.tcard blockquote{ color:var(--text-2); font-size:15.5px; line-height:1.62; margin-bottom:20px; }
.tcard .who{ display:flex; align-items:center; gap:12px; }
.tcard .av{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; color:#fff; background:var(--black); flex:0 0 auto; font-family:'Rubik',sans-serif; }
.tcard .who b{ display:block; color:var(--text); font-weight:600; font-size:14px; }
.tcard .who span{ color:var(--faint); font-size:12px; }

/* ============================================================ FINAL CTA — the black moment */
.final{ position:relative; background:var(--black); padding:132px 22px; text-align:center; overflow:hidden; }
.final::before{ content:""; position:absolute; inset:0; background:radial-gradient(55% 60% at 50% 45%, rgba(87,217,142,.22), transparent 70%); pointer-events:none; }
.final-inner{ position:relative; z-index:2; }
.final .kicker{ color:rgba(255,255,255,.55) !important; }
.final h2{ font-weight:600; line-height:.99; letter-spacing:-.03em; color:#fff; font-size:clamp(2.6rem,8vw,104px); max-width:16ch; margin:14px auto 0; }
.final h2 .w{ display:inline-block; overflow:hidden; padding-block:.05em; vertical-align:bottom; }
.final h2 .w > span{ display:inline-block; transform:translateY(120%); transition:transform .85s var(--expo); }
.final.in h2 .w > span{ transform:none; }
.final.in h2 .w:nth-child(1) > span{ transition-delay:.04s; }
.final.in h2 .w:nth-child(2) > span{ transition-delay:.11s; }
.final.in h2 .w:nth-child(3) > span{ transition-delay:.18s; }
.final.in h2 .w:nth-child(4) > span{ transition-delay:.25s; }
.final.in h2 .w:nth-child(5) > span{ transition-delay:.32s; }
.final h2 .lime-text{ color:#6FE6A1; -webkit-text-fill-color:#6FE6A1; }
.final-sub{ color:rgba(255,255,255,.6); margin:26px auto 0; max-width:36ch; font-size:1.06rem; }
.final-cta{ display:flex; gap:18px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:38px; }
.final .btn-primary{ background:#fff; color:var(--black); box-shadow:0 8px 26px rgba(0,0,0,.3); }
.final .btn-primary:hover{ background:#f0f0ee; }
.wa-link{ color:rgba(255,255,255,.55); font-size:14px; transition:color .2s; }
.wa-link:hover{ color:#fff; }

/* ============================================================ FOOTER */
.footer{ background:var(--bg); border-top:1px solid var(--line); padding:64px 24px 34px; }
@media(min-width:768px){ .footer{ padding-inline:40px; } }
.footer-inner{ max-width:1200px; margin:0 auto; }
.footer-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; }
.footer-brand{ max-width:250px; }
.footer-brand img{ height:28px; margin-bottom:16px; }
.footer-brand p{ color:var(--muted); font-size:13.5px; line-height:1.6; margin-bottom:16px; }
.partner{ display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--text-2); padding:9px 13px; border-radius:11px; background:#fff; border:1px solid var(--line); }
.footer-cols{ display:flex; flex-wrap:wrap; gap:40px; }
.fcol h4{ color:var(--faint); text-transform:uppercase; letter-spacing:.2em; font-size:10px; margin-bottom:16px; }
.fcol a{ display:block; color:var(--muted); font-size:13.5px; margin-bottom:10px; transition:color .2s; }
.fcol a:hover{ color:var(--text); }
.news label{ display:block; color:var(--faint); text-transform:uppercase; letter-spacing:.2em; font-size:10px; margin-bottom:16px; }
.news-row{ display:flex; gap:8px; direction:ltr; }
.news-row input{ flex:1; min-width:0; border-radius:999px; padding:11px 20px; font-size:13px; text-align:end; color:var(--text); background:#fff; border:1px solid var(--line); font-family:inherit; }
.news-row input::placeholder{ color:var(--faint); }
.news-row button{ border-radius:999px; padding:11px 22px; background:var(--black); color:#fff; font-weight:600; font-size:13px; }
.footer-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:var(--faint); font-size:12.5px; }

/* ============================================================ STORE MOCK (colorful client previews) */
.store{ background:#fff; color:#15161a; font-family:'Noto Sans Hebrew','Rubik',sans-serif; direction:rtl; }
.dframe .store{ font-size:9px; }
.pframe .store{ font-size:6px; }
.st-nav{ display:flex; align-items:center; justify-content:space-between; padding:1.4em 1.6em; border-bottom:1px solid #ececec; }
.st-logo{ font-weight:900; letter-spacing:-.01em; font-size:1.5em; color:var(--ink); }
.st-burger,.st-cart{ color:#aaa; font-size:1.2em; letter-spacing:.2em; }
.st-hero{ padding:2.6em 1.8em 2.2em; background:var(--soft); text-align:center; }
.st-eyebrow{ display:inline-block; color:var(--a); font-weight:700; letter-spacing:.16em; font-size:1em; text-transform:uppercase; margin-bottom:1em; }
.st-h1{ font-weight:900; font-size:2.7em; line-height:1.05; color:var(--ink); letter-spacing:-.02em; max-width:14ch; margin:0 auto .9em; }
.st-sub{ height:.7em; border-radius:99px; background:rgba(0,0,0,.1); width:60%; margin:.5em auto; }
.st-sub.w60{ width:42%; }
.st-btn{ display:inline-block; margin-top:1.1em; background:var(--a); color:#fff; font-weight:700; padding:.9em 2em; border-radius:99px; font-size:1.05em; }
.st-heroimg{ height:8em; border-radius:1.2em; margin-top:1.6em; background:linear-gradient(135deg,#fff,var(--soft)); box-shadow:inset 0 0 0 1px rgba(0,0,0,.05); }
.st-strip{ display:flex; justify-content:center; flex-wrap:wrap; gap:1.2em; padding:1.1em; background:var(--ink); color:#fff; font-size:.95em; font-weight:500; }
.st-strip span{ opacity:.9; }
.st-secthead{ display:flex; align-items:center; justify-content:space-between; padding:1.8em 1.8em .9em; }
.st-secthead b{ font-size:1.5em; font-weight:800; color:var(--ink); }
.st-secthead span{ color:var(--a); font-weight:600; font-size:1.05em; }
.st-grid{ display:grid; gap:.9em; padding:0 1.8em 1.4em; }
.st-card{ border-radius:1em; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(0,0,0,.05); }
.st-img{ background:linear-gradient(160deg,#fafafa,#e9ebe6); }
.st-meta{ display:flex; align-items:center; justify-content:space-between; padding:.7em .8em; }
.st-pn{ height:.7em; width:55%; border-radius:99px; background:rgba(0,0,0,.12); }
.st-pr{ font-weight:800; color:var(--ink); font-size:1.05em; }
.st-promo{ margin:1em 1.8em; padding:2em 1.6em; border-radius:1.4em; background:var(--a); color:#fff; text-align:center; }
.st-promo-t{ font-weight:900; font-size:2em; letter-spacing:-.01em; }
.st-promo-b{ margin-top:.5em; font-weight:600; opacity:.85; letter-spacing:.1em; font-size:1.05em; }
.st-rev{ display:flex; flex-wrap:wrap; gap:.9em; padding:.4em 1.8em 1.4em; }
.st-rc{ flex:1; min-width:40%; border:1px solid #eee; border-radius:1em; padding:1.1em; }
.st-stars{ color:#f5b301; font-size:1.05em; letter-spacing:.1em; margin-bottom:.7em; }
.st-line{ height:.55em; border-radius:99px; background:rgba(0,0,0,.1); margin:.4em 0; }
.st-line.w70{ width:70%; }
.st-rname{ height:.6em; width:35%; border-radius:99px; background:var(--a); opacity:.5; margin-top:.9em; }
.st-news{ margin:1em 1.8em 1.6em; padding:2em 1.6em; border-radius:1.4em; background:var(--soft); text-align:center; }
.st-news-t{ font-weight:800; font-size:1.6em; color:var(--ink); margin-bottom:1em; }
.st-news-row{ display:flex; gap:.6em; max-width:22em; margin:0 auto; }
.st-input{ flex:1; height:2.4em; border-radius:99px; background:#fff; box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); }
.st-sub-btn{ background:var(--ink); color:#fff; font-weight:700; padding:.7em 1.4em; border-radius:99px; font-size:1em; display:flex; align-items:center; }
.st-foot{ background:var(--ink); color:#fff; padding:2em 1.8em; }
.st-fcols{ display:flex; gap:2em; margin-bottom:1.6em; }
.st-fcols span{ flex:1; height:4em; border-radius:.6em; background:rgba(255,255,255,.07); }
.st-fbar{ opacity:.5; font-size:.95em; border-top:1px solid rgba(255,255,255,.12); padding-top:1.2em; }

/* ============================================================ REVEAL */
.reveal{ opacity:0; transform:translateY(34px) scale(.985); transition:opacity .8s var(--expo), transform .8s var(--expo); will-change:transform, opacity; }
.reveal.rx{ transform:translateX(60px); }
.reveal.rx-rev{ transform:translateX(-60px); }
.reveal.in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001s !important; animation-iteration-count:1 !important; }
  .reveal,.hero h1,.hero h1 .line > span,.hero .eyebrow,.hero-sub,.hero-cta,.hero-show,.final h2,.final h2 .w > span{ opacity:1 !important; transform:none !important; }
}
@media (hover:none){ .magnetic{ transform:none !important; } }

/* ============================================================ MOBILE */
@media(max-width:899px){
  .pframe{ inset-inline-start:0; bottom:-16px; width:118px; }
  .pframe .pview{ height:214px; }
  .work-stack{ gap:88px; }
}
@media(max-width:640px){
  .sec{ padding:76px 18px; }
  .work{ padding:80px 16px; }
  .final{ padding:92px 18px; }
  .hero{ padding:124px 18px 48px; }
  .hero h1{ font-size:clamp(2.9rem,11.5vw,3.7rem); letter-spacing:-.03em; }
  .hero-sub{ font-size:1.04rem; max-width:32ch; }
  .hero-show{ margin-top:44px; }
  .hero-show-card{ border-radius:18px; }
  .sec-head .h-lg{ font-size:clamp(2rem,7.4vw,2.5rem); }
  .sec-head .h-md{ font-size:clamp(1.85rem,6.6vw,2.2rem); }
  .sec-head p{ font-size:1rem; }
  .work-stack{ gap:66px; margin-top:42px; }
  .work-text h3{ font-size:1.5rem; }
  .cluster{ padding-bottom:6px; }
  .pframe{ width:106px; bottom:-12px; }
  .pframe .pview{ height:192px; }
  .dframe .view{ height:252px; }
  .plan{ padding:28px; border-radius:24px; }
  .pstep{ padding:28px; }
  .tcard{ width:290px; padding:22px; }
  .final h2{ font-size:clamp(2.6rem,12vw,3.4rem); }
  .nav{ top:9px; padding:0 10px; }
  .nav-pill{ height:56px; padding:0 8px 0 6px; }
  .nav-logo img{ height:20px; }
  .eyebrow{ font-size:11.5px; padding:7px 15px; }
  .hero-cta{ width:100%; gap:12px; }
  .hero-cta .btn{ flex:1 1 0; min-width:140px; }
  .footer-top{ flex-direction:column; gap:34px; }
  .footer-cols{ gap:24px 36px; width:100%; }
  .news{ flex:1 1 100%; }
}
@media(max-width:380px){
  .hero h1{ font-size:clamp(2.6rem,10.5vw,3.2rem); }
  .chip{ font-size:11.5px; padding:6px 12px; }
  .work-results .res{ font-size:13px; padding:6px 12px; }
  .nav .btn-sm{ padding:9px 15px; font-size:12.5px; }
}

/* ============================================================ JOURNEY TIMELINE · dark, scroll-lit */
.journey-sec{ position:relative; background:#0c0c0f; overflow:hidden; }
.journey-glow{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(58% 42% at 50% -2%, rgba(87,217,142,.20), transparent 68%); }
.journey-sec .sec-head{ position:relative; z-index:2; }
.journey-sec .sec-head .kicker{ color:#6FE6A1; }
.journey-sec .sec-head h2{ color:#fff; }
.journey-sec .sec-head p{ color:rgba(255,255,255,.6); }
.timeline{ position:relative; z-index:2; max-width:720px; margin:64px auto 0; --p:0; }
.timeline::before{ content:""; position:absolute; z-index:0; top:12px; bottom:12px; inset-inline-start:27px; width:2px; background:rgba(255,255,255,.12); border-radius:2px; }
.timeline::after{ content:""; position:absolute; z-index:0; top:12px; inset-inline-start:26px; width:4px; height:calc(var(--p) * (100% - 24px)); border-radius:4px; background:linear-gradient(180deg,#8CEFB7,#57D98E); box-shadow:0 0 18px rgba(87,217,142,.65); transition:height .12s linear; }
.tl-item{ position:relative; z-index:1; display:flex; gap:26px; padding-bottom:34px; }
.tl-item:last-child{ padding-bottom:0; }
.tl-marker{ position:relative; z-index:2; flex:0 0 56px; width:56px; height:56px; border-radius:50%; background:#15151b; color:rgba(255,255,255,.42); border:2px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; font-family:'Rubik',sans-serif; font-weight:600; font-size:17px; transition:background .45s var(--expo), border-color .45s var(--expo), color .45s var(--expo), box-shadow .45s var(--expo), transform .45s var(--expo); }
.tl-item.lit .tl-marker{ background:#0d2c1c; border-color:#6FE6A1; color:#fff; box-shadow:0 0 0 5px rgba(87,217,142,.16), 0 0 22px rgba(87,217,142,.5); transform:scale(1.05); }
.tl-marker.is-live{ background:#0d2c1c; border-color:#6FE6A1; color:#fff; box-shadow:0 0 0 5px rgba(87,217,142,.18), 0 0 26px rgba(87,217,142,.6); }
.tl-marker.is-live::after{ content:""; position:absolute; inset:-2px; border-radius:50%; border:2px solid #6FE6A1; animation:livePulse 2.2s ease-out infinite; }
@keyframes livePulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.6); opacity:0; } }
.tl-card{ position:relative; flex:1; min-width:0; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09); border-radius:18px; padding:22px 26px; overflow:hidden; transition:border-color .4s, background .4s, transform .35s var(--ease-out); }
.tl-item.lit .tl-card{ border-color:rgba(87,217,142,.30); background:rgba(87,217,142,.07); }
.tl-card:hover{ transform:translateY(-3px); }
.tl-ghostnum{ position:absolute; top:2px; inset-inline-end:18px; font-family:'Rubik',sans-serif; font-weight:800; font-size:66px; line-height:1; color:rgba(255,255,255,.05); pointer-events:none; transition:color .4s; }
.tl-item.lit .tl-ghostnum{ color:rgba(87,217,142,.13); }
.tl-top{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.tl-top h3{ font-family:'Rubik',sans-serif; font-weight:600; font-size:1.22rem; color:#fff; letter-spacing:-.01em; }
.tl-day{ flex:0 0 auto; font-size:12.5px; font-weight:600; color:#6FE6A1; background:rgba(87,217,142,.16); border:1px solid rgba(87,217,142,.25); padding:5px 12px; border-radius:999px; white-space:nowrap; }
.tl-card p{ position:relative; color:rgba(255,255,255,.62); font-size:14.5px; line-height:1.62; }

/* ============================================================ FAQ */
.faq-sec{ background:var(--bg-soft); }
.faq-list{ max-width:840px; margin:50px auto 0; display:flex; flex-direction:column; gap:12px; }
.faq-item{ background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:border-color .25s, box-shadow .25s; }
.faq-item.open{ border-color:rgba(17,17,20,.2); box-shadow:0 16px 40px rgba(17,17,20,.08); }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:21px 24px; text-align:start; font-family:'Rubik',sans-serif; font-weight:600; font-size:1.06rem; color:var(--text); }
.faq-ico{ flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; color:var(--text); transition:transform .3s var(--expo), background .25s, color .25s; }
.faq-item.open .faq-ico{ transform:rotate(45deg); background:var(--black); color:#fff; }
.faq-a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s var(--expo); }
.faq-item.open .faq-a{ grid-template-rows:1fr; }
.faq-a-in{ overflow:hidden; }
.faq-a p{ padding:0 24px 22px; color:var(--muted); font-size:15px; line-height:1.66; }

/* ============================================================ CTA CONTACT FORM */
.cta-form{ max-width:560px; margin:42px auto 0; background:#fff; border-radius:24px; padding:28px; text-align:start; box-shadow:0 30px 70px rgba(0,0,0,.42); }
.cta-form .row{ display:flex; gap:12px; }
.cta-field{ display:flex; flex-direction:column; gap:7px; margin-bottom:14px; flex:1; min-width:0; }
.cta-field label{ font-size:12.5px; font-weight:600; color:var(--text-2); }
.cta-field input, .cta-field textarea{ border:1px solid var(--line); border-radius:12px; padding:13px 15px; font-family:inherit; font-size:15px; color:var(--text); background:#fff; width:100%; transition:border-color .2s, box-shadow .2s; }
.cta-field input::placeholder, .cta-field textarea::placeholder{ color:var(--faint); }
.cta-field input:focus, .cta-field textarea:focus{ outline:none; border-color:var(--black); box-shadow:0 0 0 3px rgba(17,17,20,.08); }
.cta-field textarea{ resize:vertical; min-height:88px; }
.cta-field .form-note{ color:var(--faint); font-weight:500; }
.cta-actions{ display:flex; gap:12px; margin-top:4px; }
.cta-actions .btn{ flex:1; }
.btn-wa{ background:#25D366; color:#fff; }
.btn-wa:hover{ background:#1FB957; }
.cta-mini{ margin-top:16px; font-size:12.5px; color:rgba(255,255,255,.5); }

@media(max-width:600px){
  .cta-form .row{ flex-direction:column; gap:0; }
  .cta-actions{ flex-direction:column; }
  .cta-form{ padding:22px; }
}
/* ============================================================ */
@media(max-width:640px){
  .timeline{ margin-top:42px; }
  .tl-item{ gap:16px; padding-bottom:26px; }
  .tl-marker{ flex:0 0 48px; width:48px; height:48px; font-size:15px; }
  .timeline::before{ inset-inline-start:23px; }
  .timeline::after{ inset-inline-start:22px; }
  .tl-card{ padding:18px 20px; }
  .tl-ghostnum{ font-size:52px; inset-inline-end:14px; }
  .tl-top h3{ font-size:1.1rem; }
  .faq-q{ font-size:1rem; padding:18px; }
  .faq-list{ margin-top:40px; }
}

/* ============================================================ HERO · FLOATING PARALLAX (white) */
.hero-float{ position:relative; min-height:100svh; background:#ffffff; padding:96px 22px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hf-glow{ position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(42% 36% at 50% 44%, rgba(87,217,142,.14), transparent 70%),
    radial-gradient(70% 50% at 50% 118%, rgba(87,217,142,.12), transparent 72%);
}
.floaties{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.floaty{ position:absolute; opacity:0; transform:translate3d(var(--px,0px),var(--py,0px),0); transition:opacity 1s var(--expo), transform .5s cubic-bezier(.2,.8,.2,1); will-change:transform,opacity; }
.hero-float.in .floaty{ opacity:1; }
.floaty-bob{ animation:hfBob 8s ease-in-out infinite; }
@keyframes hfBob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-16px); } }
.floaty-img{ display:block; width:100%; height:auto; transform:rotate(var(--rot,0deg)); filter:drop-shadow(0 22px 34px rgba(20,80,48,.16)); transition:transform .25s var(--ease-out); pointer-events:auto; }
.floaty-img:hover{ transform:rotate(var(--rot,0deg)) scale(1.06); }

.hf-content{ position:relative; z-index:5; width:100%; max-width:920px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; }
.hf-h1{ font-family:'Rubik','Noto Sans Hebrew',sans-serif; font-weight:600; color:var(--text); line-height:1.04; letter-spacing:-.025em; font-size:clamp(2.6rem,7.6vw,6.4rem); display:flex; flex-direction:column; align-items:center; gap:.06em; }
.hf-line{ display:block; overflow:hidden; padding-block:.06em; }
.hf-line > span{ display:block; transform:translateY(120%); transition:transform 1s var(--expo) .15s; }
.hero-float.in .hf-line > span{ transform:none; }
.hf-rotate-wrap{ display:block; }
.hf-rotate{ display:inline-flex; color:var(--green); }
.hf-char-outer{ display:inline-block; overflow:hidden; vertical-align:bottom; padding-block:.06em; }
.hf-char{ display:inline-block; transform:translateY(115%); transition:transform .55s cubic-bezier(.2,.75,.2,1); white-space:pre; }
.hf-char.in{ transform:none; }
.hf-char.out{ transform:translateY(-115%); }
.hf-sub{ color:var(--muted); font-size:clamp(1.02rem,1.7vw,1.42rem); line-height:1.6; max-width:30ch; margin:clamp(20px,3vw,38px) auto 0; opacity:0; transform:translateY(16px); transition:opacity .7s var(--expo) .55s, transform .7s var(--expo) .55s; }
.hero-float.in .hf-sub{ opacity:1; transform:none; }
.hf-cta{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:clamp(30px,4vw,52px); opacity:0; transform:translateY(16px); transition:opacity .7s var(--expo) .68s, transform .7s var(--expo) .68s; }
.hero-float.in .hf-cta{ opacity:1; transform:none; }

/* hero CTA buttons use the site's default .btn-primary / .btn-ghost on white */

@media (prefers-reduced-motion:reduce){
  .floaty,.hf-line > span,.hf-sub,.hf-cta{ opacity:1 !important; transform:none !important; }
  .hf-char{ transform:none !important; }
  .floaty-bob{ animation:none !important; }
}
@media(max-width:680px){
  .hero-float{ min-height:90svh; padding:116px 20px 56px; }
  .hf-glow{ background:radial-gradient(72% 42% at 50% 40%, rgba(87,217,142,.16), transparent 74%); }
  .hf-h1{ font-size:clamp(2.05rem,8.6vw,2.95rem); line-height:1.12; gap:0; }
  .hf-sub{ font-size:1.04rem; line-height:1.55; max-width:24ch; margin-top:18px; }
  .hf-cta{ width:100%; margin-top:32px; gap:12px; }
  .hf-cta .btn{ flex:1 1 0; min-width:0; }
  /* floaties: prominent, fully visible, pulled in toward the centre */
  .floaty-img{ filter:drop-shadow(0 14px 24px rgba(20,80,48,.18)); pointer-events:none; }
  .hero-float.in .floaty{ opacity:1; }
  .floaty:nth-child(1){ width:152px !important; top:8% !important; left:14% !important; }    /* dashboard */
  .floaty:nth-child(2){ width:98px  !important; top:7% !important; left:auto !important; right:12% !important; }  /* cart */
  .floaty:nth-child(3){ width:112px !important; top:auto !important; bottom:8% !important; left:3% !important; }  /* bag */
  .floaty:nth-child(4){ width:150px !important; top:auto !important; bottom:3% !important; right:1% !important; } /* phone */
}
@media(max-width:380px){
  .hf-h1{ font-size:clamp(1.85rem,9vw,2.4rem); }
  .hf-sub{ font-size:.98rem; max-width:22ch; }
  .floaty:nth-child(1){ width:128px !important; }
  .floaty:nth-child(2){ width:84px  !important; }
  .floaty:nth-child(3){ width:96px  !important; }
  .floaty:nth-child(4){ width:126px !important; }
}
