/* =============================================================
   RTL Hover landing — shared styles (EN + HE)
   RTL-first, Hebrew sans (Assistant / Rubik), pastel canvas with
   deep aubergine ink and logo-derived coral/magenta/violet accents.
   ============================================================= */

/* ---- Fonts (variable weight ranges, split by script subset) ---- */
@font-face {
  font-family: 'Assistant'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url("/assets/assistant-hebrew.woff2") format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Assistant'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url("/assets/assistant-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Assistant'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url("/assets/assistant-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Rubik'; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("/assets/rubik-arabic.woff2") format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Rubik'; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("/assets/rubik-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Rubik'; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("/assets/rubik-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Rubik'; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("/assets/rubik-hebrew.woff2") format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Rubik'; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("/assets/rubik-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Rubik'; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("/assets/rubik-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* ---------- Pastel canvas ---------- */
  --cream:        #FBF6EE;
  --blush:        #FCE6E2;
  --peach:        #FBD9C7;
  --lilac-mist:   #ECE2F4;
  --sky-mint:     #DDEEE8;
  --butter:       #FBEFC9;
  --paper:        #FFFFFF;

  /* ---------- Ink ---------- */
  --ink:          #1F1133;
  --ink-soft:     #4A3760;
  --ink-muted:    #7A6B8E;
  --ink-faint:    #BFB3CC;
  --hairline:     #EAE2D6;
  --hairline-ink: #2C1B45;

  /* ---------- Accents ---------- */
  --coral:        #FF6A5B;
  --coral-deep:   #E8503F;
  --magenta:      #D63A8E;
  --magenta-deep: #B82973;
  --violet:       #6B3FB2;
  --violet-deep:  #4F2A8E;
  --plum:         #2C1B45;

  /* ---------- Semantic ---------- */
  --success:      #2F8F6A;
  --success-bg:   #DDEEE8;
  --warning:      #C97A1F;
  --warning-bg:   #FBEFC9;
  --danger:       #C0392B;
  --danger-bg:    #FCE6E2;
  --info:         #6B3FB2;
  --info-bg:      #ECE2F4;

  --bg:           var(--cream);
  --bg-elevated:  var(--paper);
  --fg1:          var(--ink);
  --fg2:          var(--ink-soft);
  --fg3:          var(--ink-muted);
  --fg-faint:     var(--ink-faint);
  --accent:       var(--coral);
  --accent-fg:    #FFFFFF;

  --font-display: "Rubik", "Assistant", "Heebo", system-ui, sans-serif;
  --font-body:    "Assistant", "Rubik", "Heebo", system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, monospace;

  --fs-13: 13px;
  --fs-16: 16px;
  --fs-20: 20px;
  --fs-28: 28px;
  --fs-40: 40px;
  --fs-52: 52px;
  --fs-64: 64px;

  --r-sm:   8px;
  --r-md:   14px;
  --r-lg:   20px;
  --r-xl:   28px;
  --r-2xl:  36px;
  --r-pill: 999px;

  --shadow-xs:  0 1px 2px rgba(31, 17, 51, 0.06);
  --shadow-sm:  0 2px 6px rgba(31, 17, 51, 0.06), 0 1px 2px rgba(31, 17, 51, 0.04);
  --shadow-md:  0 8px 20px rgba(31, 17, 51, 0.08), 0 2px 4px rgba(31, 17, 51, 0.04);
  --shadow-lg:  0 18px 40px rgba(31, 17, 51, 0.12), 0 4px 8px rgba(31, 17, 51, 0.05);
  --shadow-pop: 0 24px 60px rgba(214, 58, 142, 0.18), 0 6px 14px rgba(107, 63, 178, 0.10);
  --inset-card: inset 0 0 0 1px rgba(31, 17, 51, 0.06);

  --ease-soft:   cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 140ms;
  --dur-med:  240ms;
  --dur-slow: 480ms;
}

/* ============================================================= */
/* Base                                                          */
/* ============================================================= */

html, body {
  background: var(--bg);
  color: var(--fg1);
  font-family: var(--font-body);
  font-size: var(--fs-16);
  line-height: 1.5;
  font-feature-settings: "ss01", "ss02";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:lang(he), [dir="rtl"] { direction: rtl; }
[dir="ltr"] { direction: ltr; }

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 40px; }
img { display: block; max-width: 100%; }
a { text-decoration: none; }
p { font-family: var(--font-body); line-height: 1.6; color: var(--fg2); }

/* ---- buttons ---- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; cursor: pointer;
  border: 0; font-family: var(--font-body); font-weight: 700; border-radius: var(--r-pill);
  transition: all .24s var(--ease-soft); white-space: nowrap; }
.btn--lg { padding: 16px 30px; font-size: 16px; }
.btn--xl { padding: 19px 36px; font-size: 18px; }
.btn--primary { background: var(--coral); color: #fff;
  box-shadow: 0 12px 28px rgba(255,106,91,0.30), 0 2px 4px rgba(31,17,51,0.06); }
.btn--primary:hover { transform: translateY(-2px); background: var(--coral-deep); box-shadow: 0 20px 40px rgba(255,106,91,0.38); }
.btn--primary:active { transform: scale(0.97); }
.btn--ghost { background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--hairline); }
.btn--ghost:hover { box-shadow: inset 0 0 0 1.5px var(--ink); transform: translateY(-2px); }

/* ---- nav ---- */
.nav { position: sticky; top: 0; z-index: 50; background: rgba(251,246,238,0.82); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--hairline); }
.nav__in { display: flex; align-items: center; gap: 16px; padding: 16px 0; }
.nav__brand { display: flex; align-items: center; gap: 11px; }
.nav__brand img { width: 30px; height: 30px; }
.nav__word { font: 800 18px var(--font-display); letter-spacing: -0.01em; color: var(--ink); }
.nav__lang { font: 600 13px var(--font-body); color: var(--ink-muted); padding: 6px 10px; border-radius: var(--r-pill); }
.nav__lang:hover { color: var(--coral-deep); background: rgba(255,106,91,0.08); }
.nav__cta { margin-inline-start: auto; }

/* ---- hero ---- */
.hero { position: relative; overflow: hidden; padding: 84px 0 96px;
  background: radial-gradient(ellipse 60% 70% at 50% 0%, rgba(255,106,91,0.16), transparent 60%), var(--cream); }
.hero__in { text-align: center; max-width: 760px; margin: 0 auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,106,91,0.10);
  color: var(--coral-deep); padding: 8px 16px; border-radius: var(--r-pill);
  font: 700 12px var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; }
.eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--coral); }
[lang="he"] .eyebrow { letter-spacing: 0.04em; }
.hero h1 { font: 800 clamp(56px, 9vw, 104px)/0.98 var(--font-display); letter-spacing: -0.03em; margin: 26px 0 0; color: var(--ink); }
.hero h1 .period { color: var(--coral); }
.hero__under { position: relative; display: inline-block; }
.hero__under::after { content: ""; position: absolute; bottom: -10px; inset-inline: -4px; height: 16px; color: var(--coral);
  background: url("/assets/underline.svg") center/contain no-repeat; }
.hero__lead { font-size: 21px; line-height: 1.55; color: var(--ink-soft); max-width: 560px; margin: 30px auto 0; }
.hero__ctas { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 40px; }
.hero__os { font: 600 13px var(--font-body); color: var(--ink-muted); }
.hero__alt { font: 600 13px var(--font-body); color: var(--ink-muted); transition: color .2s; }
.hero__alt:hover { color: var(--coral-deep); }
.hero__note { font: 600 13.5px var(--font-body); color: var(--ink-muted); margin-top: 14px; }
.hero__note b { color: var(--ink); font-weight: 700; }

/* ---- section base ---- */
section { padding: 92px 0; }
.sec__head { max-width: 680px; margin: 0 auto 48px; text-align: center; }
.sec__eye { display: inline-block; font: 700 12px var(--font-body); letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--coral-deep); margin-bottom: 14px; }
[lang="he"] .sec__eye { letter-spacing: 0.04em; }
.sec__h2 { font: 800 clamp(34px,5vw,48px)/1.08 var(--font-display); letter-spacing: -0.02em; margin: 0 0 16px; color: var(--ink); }
.sec__lead { font-size: 18px; line-height: 1.6; color: var(--ink-soft); margin: 0; }

/* ---- before/after demo ---- */
.demo { max-width: 760px; margin: 0 auto; background: var(--paper); border-radius: var(--r-xl);
  box-shadow: var(--shadow-md); overflow: hidden; }
.demo__row { display: grid; grid-template-columns: 108px 1fr; align-items: stretch; }
.demo__row + .demo__row { border-top: 1px solid var(--hairline); }
.demo__tag { display: flex; align-items: center; gap: 8px; padding: 22px 24px;
  font: 700 12px var(--font-body); letter-spacing: 0.08em; text-transform: uppercase; }
.demo__tag .pip { width: 9px; height: 9px; border-radius: 50%; }
.demo__tag.before { color: var(--danger); } .demo__tag.before .pip { background: var(--danger); }
.demo__tag.after  { color: var(--success); } .demo__tag.after .pip { background: var(--success); }
.demo__txt { padding: 22px 26px; font-family: var(--font-mono); font-size: 15px; line-height: 1.7;
  border-inline-start: 1px solid var(--hairline); }
.demo__txt.broken { color: var(--ink-faint); direction: ltr; text-align: left; }
.demo__txt.fixed { color: var(--ink); direction: rtl; text-align: right; background: var(--success-bg); }

/* ---- how it works ---- */
.steps { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.step { background: var(--paper); border-radius: var(--r-lg); box-shadow: var(--shadow-sm);
  display: grid; grid-template-columns: 60px 1fr; align-items: center; padding: 24px 28px; gap: 22px; }
.step__num { width: 48px; height: 48px; border-radius: var(--r-md); background: var(--blush);
  color: var(--coral-deep); display: grid; place-items: center; font: 800 18px var(--font-display); }
.step:nth-child(2) .step__num { background: var(--lilac-mist); color: var(--violet-deep); }
.step:nth-child(3) .step__num { background: var(--sky-mint); color: var(--success); }
.step__txt { font: 500 18px/1.45 var(--font-body); color: var(--ink-soft); }
.step__txt b { color: var(--ink); font-weight: 700; }
.keys { display: inline-flex; align-items: center; gap: 5px; vertical-align: middle; direction: ltr; }
.key { display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 9px;
  font: 700 14px var(--font-mono); color: var(--ink); background: var(--cream);
  border-radius: 8px; box-shadow: inset 0 0 0 1px var(--hairline), 0 2px 0 var(--hairline); }
.key-plus { color: var(--ink-muted); font-weight: 700; }
.apps { max-width: 760px; margin: 24px auto 0; text-align: center; font: 500 16px/1.65 var(--font-body); color: var(--ink-muted); }
.apps b { color: var(--ink-soft); }

/* ---- languages ---- */
.langs { background: var(--lilac-mist); }
.lang-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 0;
  font: 800 clamp(30px,5vw,48px)/1.3 var(--font-display); letter-spacing: -0.01em; margin-top: 8px; color: var(--ink); }
.lang-list .sep { color: var(--violet); margin: 0 18px; }

/* ---- compare ---- */
.compare { background: var(--lilac-mist); }
.compare__cols { max-width: 760px; margin: 0 auto 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 0 20px; }
.compare__col-a { font: 700 12px var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); }
.compare__col-b { font: 700 12px var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--coral-deep); }
[lang="he"] .compare__col-a, [lang="he"] .compare__col-b { letter-spacing: 0.04em; }
.compare__rows { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.compare__row { background: var(--paper); border-radius: var(--r-lg); box-shadow: var(--shadow-sm);
  padding: 16px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center; }
.compare__bad { font: 500 14.5px/1.45 var(--font-body); color: var(--ink-muted); }
.compare__bad .x { color: var(--danger); font-weight: 700; }
.compare__good { font: 600 14.5px/1.45 var(--font-body); color: var(--ink); }
.compare__good .v { color: var(--success); font-weight: 800; }

/* ---- pricing ---- */
.price__card { max-width: 540px; margin: 0 auto; background: var(--paper); border-radius: var(--r-2xl);
  box-shadow: var(--shadow-lg); padding: 44px 44px 40px; position: relative; overflow: hidden; }
.price__card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px;
  background: linear-gradient(90deg, var(--coral), var(--magenta)); }
.price__free { display: inline-flex; align-items: center; gap: 8px; background: var(--sky-mint);
  color: var(--success); padding: 7px 15px; border-radius: var(--r-pill); font: 700 12px var(--font-body);
  letter-spacing: 0.1em; text-transform: uppercase; }
[lang="he"] .price__free { letter-spacing: 0.04em; }
.price__amt { display: flex; align-items: baseline; gap: 10px; margin: 22px 0 4px; }
.price__amt strong { font: 800 64px var(--font-display); letter-spacing: -0.03em; color: var(--ink); }
.price__amt span { font: 600 16px var(--font-body); color: var(--ink-muted); }
.price__sub { font: 500 15px var(--font-body); color: var(--ink-soft); margin: 0 0 26px; }
.price__list { list-style: none; padding: 0; margin: 0 0 30px; display: flex; flex-direction: column; gap: 13px; }
.price__list li { display: flex; align-items: flex-start; gap: 11px; font: 500 16px/1.45 var(--font-body); color: var(--ink); }
.price__list li::before { content: "✓"; color: var(--coral); font-weight: 800; flex-shrink: 0; }
.price__card .btn { width: 100%; }
.price__guarantee { text-align: center; font: 500 13px var(--font-body); color: var(--ink-muted); margin-top: 14px; }

/* ---- faq ---- */
.faq__list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
details { background: var(--paper); border-radius: var(--r-lg); padding: 22px 26px; box-shadow: var(--shadow-xs); }
details[open] { box-shadow: var(--shadow-sm); }
summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 16px;
  font: 700 17px var(--font-display); color: var(--ink); }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; margin-inline-start: auto; width: 30px; height: 30px; border-radius: 50%;
  background: var(--cream); display: grid; place-items: center; font: 600 20px var(--font-display);
  color: var(--ink-soft); transition: all .2s; flex-shrink: 0; }
details[open] summary::after { content: "−"; background: var(--blush); color: var(--coral-deep); }
details p { margin: 14px 0 0; font: 400 15.5px/1.65 var(--font-body); color: var(--ink-soft); }

/* ---- final cta ---- */
.final { text-align: center; padding: 96px 0 100px;
  background: radial-gradient(ellipse 70% 80% at 50% 100%, rgba(214,58,142,0.12), transparent 60%), var(--cream); }
.final h2 { font: 800 clamp(38px,6vw,60px)/1.04 var(--font-display); letter-spacing: -0.02em; margin: 0 0 18px; color: var(--ink); }
.final p { font-size: 19px; color: var(--ink-soft); max-width: 520px; margin: 0 auto 34px; }

/* ---- footer ---- */
footer { border-top: 1px solid var(--hairline); padding: 36px 0; }
footer .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.foot__brand { display: flex; align-items: center; gap: 10px; }
.foot__brand img { width: 26px; height: 26px; }
.foot__brand span { font: 800 15px var(--font-display); color: var(--ink); }
.foot__meta { font: 500 13px var(--font-mono); color: var(--ink-muted); letter-spacing: 0.02em; }

/* ---- waitlist ---- */
.wl-wrap { margin-top: 16px; }
.wl-label { font: 600 13.5px var(--font-body); color: var(--ink-muted); margin: 0 0 8px; }
.wl-form { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.wl-form input[type="email"] { padding: 11px 14px; border: 1px solid var(--hairline); border-radius: 10px;
  font-size: 14px; min-width: 210px; font-family: var(--font-body); }
.wl-form button { padding: 11px 18px; border: none; border-radius: 10px;
  background: linear-gradient(135deg, var(--coral), var(--magenta)); color: #fff;
  font-weight: 600; font-size: 14px; cursor: pointer; font-family: var(--font-body); }
.wl-msg { margin-top: 8px; font: 600 13.5px var(--font-body); color: var(--success); }

/* ---- mobile ---- */
@media (max-width: 680px) {
  .wrap { padding: 0 20px; }
  .hero { padding: 56px 0 64px; }
  .hero h1 { font-size: clamp(40px, 12vw, 64px); margin: 18px 0 0; }
  .hero__lead { font-size: 17px; margin-top: 20px; }
  .hero__ctas { margin-top: 28px; }
  .btn--xl { padding: 15px 26px; font-size: 16px; }
  section { padding: 60px 0; }
  .sec__h2 { font-size: clamp(26px, 7vw, 40px); }
  .demo__row { grid-template-columns: 80px 1fr; }
  .demo__tag { padding: 14px 12px; font-size: 10px; }
  .demo__txt { padding: 14px 14px; font-size: 13px; }
  .step { grid-template-columns: 50px 1fr; gap: 14px; padding: 18px 18px; }
  .step__txt { font-size: 16px; }
  .lang-list { font-size: clamp(22px, 7vw, 36px); }
  .price__card { padding: 28px 22px 24px; }
  .price__amt strong { font-size: 48px; }
  .faq__list details { padding: 16px 18px; }
  summary { font-size: 15px; }
  .final { padding: 60px 0 70px; }
  .final h2 { font-size: clamp(28px, 8vw, 48px); }
  .final p { font-size: 16px; }
  footer .wrap { flex-direction: column; align-items: flex-start; gap: 8px; }
  .nav__in { padding: 12px 0; }
}
