html, body { overflow-x: clip; }
:root {
  --blue: #4b1fb0;
  --blue-deep: #35128a;
  --cyan: #8b6cf6;
  --sky: #cfc2fb;
  --ink: #1b1233;
  --muted: #6b6390;
  --bg: #faf8ff;
  --card: #ffffff;
  --line: #e9e3fa;
  --grad: linear-gradient(120deg, #4b1fb0, #8b6cf6);
  --shadow: 0 18px 50px rgba(75, 31, 176, 0.10);
  --shadow-sm: 0 4px 16px rgba(75, 31, 176, 0.08);
  --radius: 22px;
  font-family: "Assistant", "Segoe UI", system-ui, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background:
    radial-gradient(90% 60% at 85% -5%, rgba(139, 108, 246, 0.14), transparent 60%),
    radial-gradient(80% 55% at 8% 20%, rgba(75, 31, 176, 0.08), transparent 55%),
    var(--bg);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

img { max-width: 100%; }
a { color: inherit; }

.container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(14px) saturate(1.3);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  display: flex; align-items: center; gap: 26px;
  padding: 12px 24px; max-width: 1180px; margin: 0 auto;
}
.brand-lockup { display: flex; align-items: center; gap: 14px; text-decoration: none;
  /* the logo is always the LAST header item: push it to the far inline-end even
     on pages without a middle nav (whose margin-inline:auto does the spreading) */
  margin-inline-start: auto; }
.brand-lockup img.brand-logo { height: 44px; width: auto; display: block; }
.byline {
  display: flex; align-items: center; gap: 6px;
  padding-right: 14px; border-right: 1px solid var(--line);
  color: var(--muted); font-size: 12px; font-weight: 600; white-space: nowrap;
}
.byline img { height: 20px; width: auto; opacity: 0.85; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.main-nav { display: flex; gap: 22px; margin-inline: auto; }
.main-nav a { text-decoration: none; font-weight: 600; font-size: 15px; color: var(--muted); transition: color .15s; }
.main-nav a:hover { color: var(--blue); }
.nav-cta {
  display: inline-flex; align-items: center; white-space: nowrap;
  background: var(--grad); color: #fff; text-decoration: none;
  font-weight: 700; font-size: 15px; padding: 11px 22px; border-radius: 999px;
  box-shadow: 0 8px 24px rgba(75, 31, 176, 0.35); transition: transform .15s, filter .15s;
}
.nav-cta:hover { transform: translateY(-1px); filter: brightness(1.05); }

/* The WhatsApp shortcut is icon-only now that the CTA sells the account. */
.nav-wa {
  display: inline-grid; place-items: center; width: 42px; height: 42px;
  border-radius: 999px; color: var(--blue); text-decoration: none;
  border: 1.5px solid rgba(75, 31, 176, 0.25); transition: border-color .15s, background .15s;
}
.nav-wa:hover { border-color: var(--blue); background: rgba(75, 31, 176, 0.06); }
.nav-wa svg { width: 19px; height: 19px; }
/* Header left group: logo + a compact "start free trial" CTA pinned to the top-left. */
.header-left { display: flex; align-items: center; gap: 14px; margin-inline-start: auto; }
.header-left .brand-lockup { margin-inline-start: 0; }
.header-trial-cta {
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  background: var(--grad); color: #fff; text-decoration: none;
  font-weight: 700; font-size: 13.5px; padding: 8px 16px; border-radius: 999px;
  box-shadow: 0 8px 22px rgba(75, 31, 176, 0.28); transition: transform .15s, filter .15s;
}
.header-trial-cta svg { width: 15px; height: 15px; }
.header-trial-cta:hover { transform: translateY(-1px); filter: brightness(1.05); }
.nav-login {
  display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap;
  color: var(--blue); font-weight: 700; font-size: 15px; padding: 10px 20px; border-radius: 999px;
  border: 1.5px solid rgba(75, 31, 176, 0.25); transition: border-color .15s, background .15s;
}
.nav-login:hover { border-color: var(--blue); background: rgba(75, 31, 176, 0.06); }

/* ---------- Hero ---------- */
.hero {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center;
  padding: 72px 0 56px;
}
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--blue); font-weight: 800; font-size: 14px; letter-spacing: .04em;
  background: rgba(75, 31, 176, 0.08); border: 1px solid rgba(75, 31, 176, 0.18);
  padding: 6px 14px; border-radius: 999px;
}
.hero h1 {
  margin-top: 20px; font-size: clamp(32px, 5.2vw, 58px); line-height: 1.12; font-weight: 800; overflow-wrap: break-word;
}
.hero h1 .grad { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* A handwritten notebook insertion in the headline: a caret between the words and the
   word "באמת" penned above the line, slightly tilted — like squeezing in a forgotten word.
   The span REPLACES the inter-word space (width supplies the gap); the word is absolutely
   positioned so it never affects the line box. Screen readers read the DOM order naturally:
   "קטלוג דיגיטלי באמת חכם לעסק". */
.ins-fix { position: relative; display: inline-block; width: 0.8em; height: 1em; vertical-align: baseline; }
.ins-fix .ins-caret {
  position: absolute; left: 50%; bottom: -0.06em; transform: translateX(-50%) rotate(-3deg);
  width: 0.58em; height: 0.54em; color: var(--blue);
}
.ins-fix .ins-word {
  position: absolute; left: 50%; bottom: 1.3em; transform: translateX(-47%) rotate(-4deg);
  font-family: "Playpen Sans Hebrew", "Assistant", cursive;
  font-size: 0.28em; font-weight: 600; line-height: 1; color: var(--blue);
  white-space: nowrap; pointer-events: none;
}
.hero .lead { margin-top: 20px; font-size: 19px; color: var(--muted); max-width: 54ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--grad); color: #fff; text-decoration: none; font-weight: 800; font-size: 17px;
  padding: 16px 32px; border-radius: 999px; box-shadow: 0 14px 34px rgba(75, 31, 176, 0.35);
  transition: transform .15s, filter .15s;
}
.btn-primary:hover { transform: translateY(-2px); filter: brightness(1.06); }
.btn-secondary {
  display: inline-flex; align-items: center; gap: 10px;
  background: #fff; color: var(--blue); text-decoration: none; font-weight: 700; font-size: 16px;
  padding: 15px 28px; border-radius: 999px; border: 1.5px solid rgba(75, 31, 176, 0.25);
  box-shadow: var(--shadow-sm); transition: transform .15s, border-color .15s;
}
.btn-secondary:hover { transform: translateY(-2px); border-color: var(--blue); }
.btn-primary svg, .btn-secondary svg { width: 18px; height: 18px; }
.hero-stats { display: flex; gap: 34px; margin-top: 40px; }
.hero-stats dt { font-size: 26px; font-weight: 800; color: var(--blue); }
.hero-stats dd { font-size: 13.5px; color: var(--muted); max-width: 15ch; }

/* Hero flipbook (the real page-flip engine, mirrored for a true RTL book) */
.hero-visual { display: grid; place-items: center; position: relative; }
.book-scene { position: relative; display: flex; align-items: center; gap: 14px; }
.hero-book {
  position: relative;
  width: min(470px, 82vw);
  height: calc(min(470px, 82vw) * 0.707);
  filter: drop-shadow(0 30px 60px rgba(22, 32, 59, 0.28));
}
/* The mirror flips the flip-engine horizontally: the LEFT page turns rightward,
   exactly like a Hebrew book. Page images are pre-mirrored back to normal. */
.hero-book-mirror { width: 100%; height: 100%; transform: scaleX(-1); }
.hero-book-mirror #flipMount { width: 100%; height: 100%; direction: ltr; }
/* English homepage: the hero book is a straight LTR book — no mirror, and the nav
   chevrons flip so the left arrow points left (prev) and the right points right (next). */
html[lang="en"] .hero-book-mirror { transform: none; }
html[lang="en"] .book-nav svg { transform: scaleX(-1); }
.book-nav {
  display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto;
  border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--blue);
  cursor: pointer; box-shadow: var(--shadow-sm); transition: transform .15s, border-color .15s;
  z-index: 2;
}
.book-nav:hover { transform: translateY(-2px); border-color: var(--blue); }
.book-nav svg { width: 20px; height: 20px; }
.floating-chip {
  position: absolute; display: inline-flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid var(--line); border-radius: 999px;
  padding: 10px 16px; font-weight: 700; font-size: 13.5px; color: var(--ink);
  box-shadow: var(--shadow-sm); animation: chipFloat 5s ease-in-out infinite;
}
.floating-chip svg { width: 16px; height: 16px; color: var(--blue); }
.chip-a { top: 8%; left: -4%; animation-delay: 0s; }
.chip-b { bottom: 12%; right: -6%; animation-delay: 2.2s; }
@keyframes chipFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* ---------- Live showcase catalog (flippable, with sound) ---------- */
.showcase-stage { display: flex; flex-direction: column; align-items: center; gap: 14px; }
/* The viewport clips the book. Closed, it's narrowed to one page so only the
   centered cover shows; the first flip widens it to the full two-page spread.
   Padding leaves room for the book's drop-shadow inside the clip, so nothing
   frames the EMPTY half — no phantom "white page" during the opening flip. */
.showcase-viewport {
  --bw: min(800px, 94vw);
  overflow: hidden;
  direction: ltr; /* left-anchor the clip so the narrowed cover frames page 1 (left half) */
  width: calc(var(--bw) + 88px);
  height: calc(var(--bw) * 0.707 + 92px);
  padding: 18px 44px 74px;
  transition: width .6s cubic-bezier(.45, .05, .2, 1);
}
.showcase-viewport.is-cover { width: calc(var(--bw) / 2 + 88px); }
/* The closed BACK cover: same narrowed viewport, but framing the RIGHT half
   (the back cover pairs with a transparent left half), so the book shifts left. */
.showcase-viewport.is-back { width: calc(var(--bw) / 2 + 88px); }
.showcase-viewport.is-back .showcase-book { margin-left: calc(var(--bw) / -2); }
/* English (LTR) book — the framing sides swap: the closed FRONT cover sits in the
   RIGHT half (paired with the leading transparent filler), so the book shifts left;
   the BACK cover is the lonely-last page in the LEFT half, so no shift. */
.showcase-viewport.en-book.is-cover .showcase-book { margin-left: calc(var(--bw) / -2); }
.showcase-viewport.en-book.is-back .showcase-book { margin-left: 0; }
.showcase-book {
  position: relative;
  width: var(--bw);
  height: calc(var(--bw) * 0.707);
  transition: margin-left .6s cubic-bezier(.45, .05, .2, 1);
  /* drop-shadow follows the ALPHA silhouette: only real pages cast it, the empty
     half stays invisible (that was the "white page" bug with a viewport box-shadow). */
  filter: drop-shadow(0 24px 40px rgba(22, 32, 59, 0.30));
}
/* RTL comes from the REVERSED page array (script.js), so the mount stays LTR and
   there is no mirror (the scaleX(-1) trick is only for the hero). */
.showcase-book .hero-book-mirror { width: 100%; height: 100%; transform: none; }
.showcase-book .hero-book-mirror #showMount { width: 100%; height: 100%; direction: ltr; }
/* Real HTML pages (loadFromHTML): white sheets; empty slots are transparent. */
.sc-page { background: #fff; border-radius: 4px; overflow: hidden; }
.sc-page.sc-empty { background: transparent; box-shadow: none; } /* the odd-count filler half */
#showMount.mid-flip .sc-empty { background: #fff; } /* opaque while a sheet turns (covers the page beneath) */
.sc-page img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Invisible hotspot over page 5's "יאללה, יוצרים קטלוג דיגיטלי" pill (page 5 =
   left half of the last spread). Shown by script only when that spread is open. */
.showcase-cta {
  position: absolute; z-index: 6; display: block;
  left: 19%; width: 30.5%; top: 86.5%; height: 8.5%;
  border-radius: 999px; cursor: pointer;
}
/* EN pricing page sits in the RIGHT half and its pill is on the page's LEFT (LTR flex). */
.showcase-viewport.en-book .showcase-cta { left: 53%; width: 30.5%; }
.showcase-cta[hidden] { display: none; }
.sound-toggle {
  display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px; border-radius: 999px;
  border: 1px solid var(--line); background: #fff; color: var(--blue); font-family: inherit;
  font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: var(--shadow-sm);
  transition: transform .15s, border-color .15s, color .15s;
}
.sound-toggle:hover { transform: translateY(-2px); border-color: var(--blue); }
.sound-toggle svg { width: 20px; height: 20px; }
.sound-toggle[aria-pressed="false"] { color: var(--muted); }
@media (max-width: 760px) {
  /* On mobile a spread is unreadable — fall back to a single portrait page (no clip).
     Sized DOWN from the viewport so the section can never overflow it (the old
     min(330px,86vw)+88px came out wider than a 390px phone and shifted the page). */
  .showcase-viewport, .showcase-viewport.is-cover, .showcase-viewport.is-back {
    --bw: calc(100vw - 84px);
    width: calc(100vw - 24px);
    height: calc(var(--bw) * 1.414 + 92px);
    padding: 18px 30px 74px;
  }
  .showcase-viewport.is-back .showcase-book { margin-left: 0; }
  .showcase-viewport.en-book.is-cover .showcase-book { margin-left: 0; } /* portrait: no half-shift */
  .showcase-book { width: var(--bw); height: calc(var(--bw) * 1.414); }
  /* Single full-width page: the CTA pill spans the page itself. */
  .showcase-cta { left: 35%; width: 61%; }
  .showcase-viewport.en-book .showcase-cta { left: 6%; width: 61%; } /* EN pill is left-anchored */
  .showcase-stage { gap: 10px; }
  #showNext, #showPrev, #showSound { display: none; } /* auto ping-pong slideshow instead */
  /* the mobile slideshow: stacked pages crossfading */
  #showMount.sc-simple, #flipMount.sc-simple { position: relative; width: 100%; height: 100%; }
  #showMount.sc-simple .sc-page, #flipMount.sc-simple .sc-page {
    position: absolute; inset: 0; opacity: 0; transition: opacity 0.7s ease;
    border-radius: 8px; overflow: hidden; box-shadow: 0 16px 36px rgba(22, 32, 59, 0.24);
  }
  #showMount.sc-simple .sc-page.active, #flipMount.sc-simple .sc-page.active { opacity: 1; }
  .sc-simple .sc-page img { width: 100%; height: 100%; object-fit: cover; display: block; }
}

/* ---------- Sections ---------- */
.section { padding: 64px 0; }
.section-heading { text-align: center; max-width: 760px; margin: 0 auto 44px; }
.section-heading h2 { font-size: clamp(28px, 3.6vw, 40px); font-weight: 800; line-height: 1.2; margin-top: 14px; }
.section-heading p.sub { margin-top: 14px; color: var(--muted); font-size: 17px; }

.intro-band {
  background: var(--grad); border-radius: var(--radius); color: #fff;
  padding: 42px clamp(24px, 5vw, 64px); text-align: center;
  font-size: clamp(17px, 2.2vw, 21px); font-weight: 600; line-height: 1.7;
  box-shadow: 0 24px 60px rgba(75, 31, 176, 0.28);
}

.card-grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 28px; box-shadow: var(--shadow-sm); transition: transform .2s, box-shadow .2s;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card h3 { font-size: 19px; font-weight: 800; margin: 12px 0 8px; }
.card p { color: var(--muted); font-size: 15px; }
.card .icon {
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px;
  background: rgba(75, 31, 176, 0.09); color: var(--blue);
}
.card .icon svg { width: 22px; height: 22px; }

.compare-card { position: relative; overflow: hidden; }
.compare-card .num {
  font-size: 44px; font-weight: 800; color: rgba(75, 31, 176, 0.12); line-height: 1;
}
.compare-card ul { margin-top: 14px; padding-inline-start: 18px; color: var(--muted); font-size: 14.5px; display: grid; gap: 6px; }
.compare-card.featured {
  background: linear-gradient(150deg, #f3efff, #e6f5ff);
  border-color: rgba(75, 31, 176, 0.3);
}
.compare-card.featured::after {
  content: "המומלץ שלנו"; position: absolute; top: 18px; left: 18px;
  background: var(--grad); color: #fff; font-size: 12px; font-weight: 700;
  padding: 5px 12px; border-radius: 999px;
}

.steps { counter-reset: step; }
.step-card { position: relative; padding-top: 34px; }
.step-card::before {
  counter-increment: step; content: counter(step);
  position: absolute; top: -20px; right: 24px;
  width: 44px; height: 44px; display: grid; place-items: center;
  background: var(--grad); color: #fff; font-weight: 800; font-size: 19px; border-radius: 14px;
  box-shadow: 0 8px 20px rgba(75, 31, 176, 0.35);
}

/* FAQ */
.faq { max-width: 820px; margin: 0 auto; display: grid; gap: 12px; }
.faq details {
  background: var(--card); border: 1px solid var(--line); border-radius: 16px;
  padding: 4px 22px; box-shadow: var(--shadow-sm);
}
.faq summary {
  cursor: pointer; font-weight: 700; font-size: 16.5px; padding: 16px 0;
  list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 22px; color: var(--blue); font-weight: 400; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { color: var(--muted); padding: 0 0 18px; font-size: 15.5px; }

/* Final CTA */
.final-cta {
  background: var(--grad); border-radius: var(--radius); color: #fff; text-align: center;
  padding: clamp(44px, 7vw, 72px) 24px; box-shadow: 0 26px 70px rgba(75, 31, 176, 0.3);
  position: relative; overflow: hidden;
}
.final-cta::before {
  content: ""; position: absolute; inset: -40%;
  background: radial-gradient(40% 40% at 70% 20%, rgba(255, 255, 255, 0.18), transparent 70%);
  pointer-events: none; /* decorative only — it was swallowing clicks on the buttons */
}
.final-cta h2 { font-size: clamp(28px, 4vw, 42px); font-weight: 800; position: relative; }
.final-cta p { margin: 14px auto 30px; max-width: 56ch; font-size: 17.5px; opacity: 0.92; position: relative; }
.final-cta .btn-primary { background: #fff; color: var(--blue); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22); position: relative; }
.final-cta .cta-phone { display: block; margin-top: 20px; color: #fff; font-weight: 700; font-size: 17px; position: relative; text-decoration: none; opacity: 0.95; }

/* Footer */
.site-footer { border-top: 1px solid var(--line); background: linear-gradient(180deg, #ffffff, #f3efff); margin-top: 80px; }
.footer-top {
  max-width: 1180px; margin: 0 auto; padding: 56px 24px 36px;
  display: grid; grid-template-columns: 2.75fr 1.25fr; gap: 44px;
  grid-auto-flow: dense; align-items: start; /* dense: backfill so both sit in row 1 (no dead space) */
}
.footer-cols   { grid-column: 1; } /* links on the right (inline-start in RTL) */
.footer-brandcol { grid-column: 2; } /* logo + brand block on the left */
.footer-brandcol { display: flex; flex-direction: column; gap: 14px; align-items: flex-end; }
.footer-brandcol img.brand-logo { height: 44px; width: auto; display: block; }
.footer-tag { color: var(--muted); font-size: 14.5px; line-height: 1.65; max-width: 34ch; }
.footer-social { display: flex; gap: 10px; }
.footer-social a {
  width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center;
  border: 1px solid var(--line); background: #fff; color: var(--blue); transition: border-color .15s, transform .15s;
}
.footer-social a:hover { border-color: var(--blue); transform: translateY(-2px); }
.footer-social svg { width: 19px; height: 19px; }
.footer-byline { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; font-weight: 600; margin-top: 6px; }
.footer-byline img { height: 20px; opacity: 0.85; }
.footer-byline a { color: var(--blue); text-decoration: none; font-weight: 700; }
.footer-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.footer-col h4 { font-size: 14px; font-weight: 800; color: var(--ink); margin-bottom: 14px; }
.footer-col a {
  display: block; text-decoration: none; color: var(--muted); font-size: 14.5px; font-weight: 600;
  padding: 6px 0; transition: color .15s;
}
.footer-col a:hover { color: var(--blue); }
.footer-col .soon {
  display: inline-block; font-size: 10.5px; font-weight: 800; color: var(--blue);
  background: rgba(75, 31, 176, 0.1); border-radius: 6px; padding: 1px 7px; margin-inline-start: 5px; vertical-align: middle;
}
.footer-bottom {
  max-width: 1180px; margin: 0 auto; padding: 18px 24px 32px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  color: var(--muted); font-size: 13.5px;
}
.footer-bottom-links { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-bottom-links a { color: var(--muted); text-decoration: none; font-weight: 700; }
.footer-bottom-links a:hover { color: var(--blue); }

/* CTA blocks */
.section-cta { text-align: center; margin-top: 38px; }
.cta-band {
  background: var(--grad); border-radius: var(--radius); padding: 36px 42px; color: #fff;
  display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap;
  box-shadow: var(--shadow);
}
.cta-band h2 { font-size: 27px; color: #fff; line-height: 1.2; }
.cta-band p { color: rgba(255, 255, 255, 0.92); margin-top: 8px; font-size: 16px; }
.cta-band .btn-primary { background: #fff; color: var(--blue); box-shadow: 0 12px 34px rgba(0, 0, 0, 0.2); }
.final-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin: 6px 0 4px; position: relative; }

/* Reveal animation */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; padding: 40px 0 34px; text-align: center; gap: 28px; }
  .hero .lead { margin-inline: auto; }
  .hero-actions, .hero-stats { justify-content: center; }
  .hero-visual { order: -1; }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .main-nav { display: none; }
  .byline { display: none; }
  .cta-band { justify-content: center; text-align: center; }
  .footer-top { grid-template-columns: 1fr; gap: 34px; }
  .footer-cols, .footer-brandcol { grid-column: auto; }
  .footer-brandcol { align-items: center; text-align: center; }
  .footer-tag { max-width: none; }
  .footer-cols { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .container { padding: 0 18px; }
  .section-heading h2 { font-size: 26px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .hero { padding-top: 26px; }
  .hero h1 { font-size: clamp(30px, 9vw, 40px); }
  .hero .lead { font-size: 16.5px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn-primary, .hero-actions .btn-secondary { width: 100%; justify-content: center; }
  .hero-stats { gap: 16px; justify-content: space-between; }
  .hero-stats dt { font-size: 21px; }
  .hero-stats dd { font-size: 12px; }
  /* Hero flipbook: shrink so the book AND its side arrows fit the viewport */
  /* Single portrait page on mobile: size the box to the PAGE aspect so there are
     no white slabs at the sides, and give it air before the tag below. */
  .hero-book { width: min(206px, 54vw); height: calc(min(206px, 54vw) / 0.707); }
  .book-scene { gap: 8px; margin-bottom: 14px; }
  .book-nav { width: 38px; height: 38px; }
  .book-nav svg { width: 17px; height: 17px; }
  .floating-chip { display: none; }
  .header-inner { gap: 10px; padding: 10px 18px; }
  .nav-cta { padding: 9px 15px; font-size: 13.5px; }
  .nav-login { padding: 9px 14px; font-size: 13.5px; } /* match the shrunken CTA beside it */
  /* Three pills do not fit; WhatsApp is still in the footer and the floating bot. */
  .nav-wa { display: none; }
  .header-left { gap: 9px; }
  .header-trial-cta { padding: 7px 12px; font-size: 12px; gap: 5px; }
  .header-trial-cta svg { width: 13px; height: 13px; }
  .brand-lockup img.brand-logo { height: 34px; }
  .cta-band { padding: 26px 22px; }
  .cta-band h2 { font-size: 22px; }
  .cta-band .btn-primary, .section-cta .btn-primary, .final-cta-actions a { width: 100%; justify-content: center; }
  .footer-cols { grid-template-columns: repeat(2, 1fr); gap: 18px 22px; text-align: center; }
  .footer-bottom { justify-content: center; text-align: center; }
}

/* ---------- Launch pricing ---------- */
.launch-ribbon {
  position: absolute; top: 16px; inset-inline-start: -6px;
  background: var(--grad); color: #fff; font-weight: 800; font-size: 13px;
  padding: 6px 16px; border-radius: 8px; box-shadow: var(--shadow-sm);
}
.price-row { display: flex; align-items: baseline; justify-content: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.price-old { font-size: 24px; color: var(--muted); text-decoration: line-through; font-weight: 700; }
.price-new { font-size: clamp(34px, 9vw, 48px); font-weight: 800; color: var(--blue); line-height: 1; }
.price-per { font-size: 17px; color: var(--muted); font-weight: 600; }
.price-sub { margin-top: 8px; font-size: 14px; font-weight: 700; color: #c0392b; }
.addon-note {
  margin-top: 16px; background: rgba(139, 108, 246,0.08); border: 1px solid var(--line);
  border-radius: 12px; padding: 12px 14px; font-size: 14.5px; color: var(--ink); font-weight: 600;
}

/* ---------- Cookie consent ---------- */
.cc-banner {
  position: fixed; inset-inline: 16px; bottom: 16px; z-index: 1000; max-width: 640px; margin: 0 auto;
  background: var(--card); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow);
  padding: 18px 20px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
}
.cc-banner p { font-size: 14.5px; color: var(--ink); flex: 1 1 260px; margin: 0; line-height: 1.6; }
.cc-banner p a { color: var(--blue); font-weight: 700; }
.cc-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cc-actions button {
  font-family: inherit; font-weight: 700; font-size: 14px; padding: 10px 18px; border-radius: 12px;
  cursor: pointer; border: 1px solid var(--line); background: #fff; color: var(--ink);
}
.cc-actions .cc-accept { background: var(--grad); color: #fff; border: none; }
@media (max-width: 520px) { .cc-actions { width: 100%; } .cc-actions button { flex: 1; } }

/* ---------- Google sign-in ---------- */
.oauth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: var(--muted); font-size: 13px; }
.oauth-divider::before, .oauth-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.google-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
  padding: 13px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff;
  color: var(--ink); font-weight: 700; font-size: 15.5px; text-decoration: none; cursor: pointer;
  font-family: inherit; transition: border-color .15s, box-shadow .15s; box-sizing: border-box;
}
.google-btn:hover { border-color: #c9d4ec; box-shadow: var(--shadow-sm); }

/* ===== floating "back to top" ===== */
#toTopFab {
  position: fixed;
  bottom: clamp(28px, 5vh, 54px);
  left: clamp(24px, 3vw, 46px);
  z-index: 70;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: linear-gradient(135deg, var(--blue) 0%, var(--cyan) 100%);
  color: #fff;
  box-shadow: 0 18px 42px rgba(75, 31, 176, 0.30);
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(14px) scale(0.94);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}
#toTopFab svg { width: 25px; height: 25px; }
/* English (LTR) pages mirror the corner: bottom-RIGHT is the conventional side there
   (the Hebrew RTL layout keeps it bottom-left). */
html[lang="en"] #toTopFab { left: auto; right: clamp(24px, 3vw, 46px); }
#toTopFab.show { opacity: 1; transform: none; pointer-events: auto; }
#toTopFab:hover { transform: translateY(-3px); filter: brightness(1.05); box-shadow: 0 24px 50px rgba(75, 31, 176, 0.38); }
#toTopFab:focus-visible { outline: 3px solid rgba(139, 108, 246, 0.36); outline-offset: 4px; }
/* ‏**מובייל: הכפתור יורד לגמרי.** הפינה התחתונה בנייד כבר תפוסה בשלושה פקדים
   צפים — נגישות, בועת הצ׳אט, והחץ — והם נדחסים לאותו איזור אגודל ומסתירים את
   התוכן שמתחתם. במקביל הכפתור הוא הפחות נחוץ מהשלושה: בנייד יש מחוות מערכת
   לחזרה לראש הדף (הקשה על שורת הסטטוס ב-iOS), ובדסקטופ אין. ‏display:none
   ולא הסתרה ויזואלית — כך הוא יוצא גם מעץ הנגישות ומסדר הטאבים, ואינו יעד
   מקלדת בלתי-נראה. הלוגיקה ב-script.js נשארת כפי שהיא ומתגלה כאל-פעולה. */
@media (max-width: 860px) {
  #toTopFab { display: none; }
}

/* ===== Pricing tiers + launch countdown (מסלולים וחבילות) ===== */
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 8px; }
.pricing-grid.is-four { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .pricing-grid.is-four { grid-template-columns: 1fr 1fr; } }
.tier-card { position: relative; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 20px; box-shadow: var(--shadow-sm); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; transition: transform .2s, box-shadow .2s; }
.tier-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(20, 30, 60, .12); }
.tier-card h3 { font-size: 20px; margin: 0; }
.tier-price { font-size: 30px; font-weight: 800; color: var(--blue); display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; justify-content: center; }
.tier-price span { font-size: 15px; font-weight: 600; color: #6f6790; }
.tier-price s { font-size: 20px; color: #9aa6bf; font-weight: 600; }
.tier-price b { font-weight: 800; }
.tier-card .btn-primary, .tier-card .btn-secondary { margin-top: auto; }
.tier-year { grid-column: span 2; border-color: var(--blue); background: linear-gradient(135deg, rgba(75, 31, 176, .05), rgba(139, 108, 246, .08)); }
.tier-business { grid-column: span 1; border-color: #12a594; background: linear-gradient(135deg, rgba(18, 165, 148, .07), rgba(139, 108, 246, .05)); }
.tier-business .btn-secondary { border-color: #12a594; color: #0e8578; }
.tier-business .btn-secondary:hover { border-color: #0e8578; }
.tier-price-alt { font-size: 20px; font-weight: 800; color: #0e8578; }
.tier-note { font-size: 13.5px; color: #6f6790; margin: 0; }
.pricing-footnote { margin: 22px auto 0; text-align: center; font-size: 14px; color: #6f6790; line-height: 1.8; max-width: 820px; }
.launch-countdown { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 0 0 24px; padding: 18px; border-radius: var(--radius); background: linear-gradient(135deg, rgba(75, 31, 176, .08), rgba(139, 108, 246, .12)); border: 1px solid rgba(75, 31, 176, .18); }
.launch-countdown[hidden] { display: none; }
.lc-label { font-weight: 800; font-size: 16px; color: var(--blue-deep); }
.lc-clock { display: flex; gap: 10px; }
.lc-seg { display: flex; flex-direction: column; align-items: center; min-width: 58px; padding: 8px 6px; background: #fff; border-radius: 12px; box-shadow: var(--shadow-sm); }
.lc-seg b { font-size: 26px; font-weight: 800; color: var(--blue); font-variant-numeric: tabular-nums; }
.lc-seg em { font-style: normal; font-size: 12px; color: #6f6790; }
@media (max-width: 720px) {
  .pricing-grid { grid-template-columns: 1fr 1fr; }
  .tier-year, .tier-business { grid-column: 1 / -1; }
  .lc-seg { min-width: 48px; }
}
@media (max-width: 520px) {
  .pricing-grid, .pricing-grid.is-four { grid-template-columns: 1fr; }
  .tier-card { padding: 20px 16px; }
  .footer-cols { grid-template-columns: 1fr; gap: 14px; }
}

/* ===== SEO landing pages (digital-catalog, pdf-to-catalog, flipbook, ...) ===== */
.landing-wrap { max-width: 880px; }
.landing-lead { margin: 14px 0 0; font-size: 18px; line-height: 1.85; color: var(--muted, #6b6390); max-width: 720px; }
.landing-hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.landing-card { font-size: 16.5px; line-height: 1.85; }
.landing-section { margin-top: 34px; }
.landing-section:first-child { margin-top: 0; }
.landing-section h2 { font-size: 23px; font-weight: 800; margin: 0 0 12px; letter-spacing: -0.3px; }
.landing-section p { margin: 0 0 12px; }
.landing-section ul, .landing-section ol { margin: 0 0 12px; padding-inline-start: 22px; display: grid; gap: 9px; }
.landing-section a { color: var(--blue, #4b1fb0); font-weight: 700; text-decoration: none; }
.landing-section a:hover { text-decoration: underline; }
.card h3 a { color: inherit; text-decoration: none; }
.card h3 a:hover { color: var(--blue); text-decoration: underline; }
/* live demo */
.landing-demo { margin-top: 40px; text-align: center; }
.landing-demo h2 { font-size: 23px; font-weight: 800; margin: 0 0 6px; }
.landing-demo-sub { color: var(--muted, #6b6390); margin: 0 0 16px; }
.landing-demo-frame { border-radius: 18px; overflow: hidden; border: 1px solid rgba(75, 31, 176, 0.14); box-shadow: 0 18px 50px rgba(22, 32, 59, 0.12); background: #fff; }
.landing-demo-frame iframe { display: block; width: 100%; height: 540px; border: 0; }
.landing-demo-cta { margin-top: 18px; }
/* FAQ */
.landing-faq-item { border: 1px solid rgba(75, 31, 176, 0.12); border-radius: 14px; padding: 0; margin-bottom: 10px; background: #fbfdff; overflow: hidden; }
.landing-faq-item summary { cursor: pointer; list-style: none; padding: 15px 18px; font-weight: 800; font-size: 16px; position: relative; }
.landing-faq-item summary::-webkit-details-marker { display: none; }
.landing-faq-item summary::after { content: "+"; position: absolute; inset-inline-end: 18px; top: 50%; transform: translateY(-50%); font-size: 20px; color: var(--blue, #4b1fb0); font-weight: 700; }
.landing-faq-item[open] summary::after { content: "-"; }
.landing-faq-item p { margin: 0; padding: 0 18px 16px; color: #3c4a66; }
/* related + final CTA */
.landing-related { margin-top: 38px; }
.landing-related h2 { font-size: 18px; font-weight: 800; margin: 0 0 10px; }
.landing-related-links { display: flex; gap: 10px; flex-wrap: wrap; }
.landing-related-links a { display: inline-flex; padding: 9px 16px; border: 1.5px solid rgba(75, 31, 176, 0.22); border-radius: 999px; color: var(--blue, #4b1fb0); font-weight: 700; text-decoration: none; font-size: 14.5px; transition: background 0.14s, border-color 0.14s; }
.landing-related-links a:hover { background: rgba(75, 31, 176, 0.07); border-color: var(--blue, #4b1fb0); }
.landing-final-cta { margin-top: 42px; text-align: center; padding: 34px 22px; border-radius: 18px; background: linear-gradient(135deg, rgba(75, 31, 176, 0.06), rgba(139, 108, 246, 0.08)); border: 1px solid rgba(75, 31, 176, 0.12); }
.landing-final-cta h2 { font-size: 24px; font-weight: 800; margin: 0 0 8px; }
.landing-final-cta p { color: var(--muted, #6b6390); margin: 0 0 18px; }
/* landing footer (compact) */
.landing-footer-bottom { display: grid; gap: 14px; justify-items: center; text-align: center; padding: 26px 18px 30px; }
.landing-footer-nav { display: flex; gap: 8px 14px; flex-wrap: wrap; justify-content: center; }
.landing-footer-nav a { color: inherit; opacity: 0.85; text-decoration: none; font-size: 14px; font-weight: 700; }
.landing-footer-nav a:hover { opacity: 1; text-decoration: underline; }
.landing-footer-links { font-size: 13.5px; opacity: 0.75; }
.landing-footer-links a { color: inherit; text-decoration: none; }
.landing-footer-links a:hover { text-decoration: underline; }
.landing-footer-copy { font-size: 12.5px; opacity: 0.6; }
.landing-footer-copy a { color: inherit; }
@media (max-width: 720px) {
  .landing-demo-frame iframe { height: 420px; }
  .landing-section h2 { font-size: 20px; }
}

/* ==========================================================================
   HOME PAGE 2.0 — AI-platform repositioning. Reuses the tokens above.
   ========================================================================== */

/* hero: small "already have a PDF?" text link under the two buttons */
.hero-subaction { margin-top: 14px; font-size: 14.5px; color: var(--muted); }
.hero-subaction a { color: var(--blue); font-weight: 700; text-decoration: none; }
.hero-subaction a:hover { text-decoration: underline; }

/* eyebrow AI accent used across the AI sections */
.eyebrow.ai { color: #7c3aed; }

/* ---------- Four ways to start ---------- */
.ways-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (min-width: 961px) { .ways-grid.cols-3 { grid-template-columns: repeat(3, 1fr); } }
.way-card { position: relative; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 22px 22px; box-shadow: var(--shadow-sm); transition: transform .18s, box-shadow .18s; }
.way-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.way-card .way-ico { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(135deg, #f3efff, #f1ecff); color: var(--blue); margin-bottom: 14px; }
.way-card .way-ico svg { width: 23px; height: 23px; }
.way-card h3 { font-size: 18px; font-weight: 800; margin: 0 0 7px; }
.way-card p { color: var(--muted); font-size: 14.5px; line-height: 1.6; }
.way-card .way-tag { display: inline-block; margin-top: 12px; font-size: 12.5px; font-weight: 800; color: #7c3aed; background: #f3ecff; border-radius: 999px; padding: 4px 11px; }

/* ---------- AI studio band + capability chips + flow ---------- */
.ai-studio { position: relative; overflow: hidden; border-radius: 30px; padding: 54px clamp(22px, 4vw, 60px); color: #eaf0ff;
  background: radial-gradient(120% 140% at 85% 0%, #16307a 0%, #170f2c 55%, #0a1226 100%); box-shadow: 0 30px 70px rgba(13, 24, 54, .3); }
.ai-studio .section-heading { max-width: 720px; margin-inline: 0; text-align: right; }
.ai-studio .section-heading h2 { color: #fff; }
.ai-studio .section-heading .eyebrow { color: #b9a6fb; background: rgba(127, 212, 255, .12); }
.ai-studio .section-heading p.sub { color: #bdb2dc; }
.ai-caps { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.ai-cap { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #dfe8ff;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 999px; padding: 9px 15px; }
.ai-cap svg { width: 16px; height: 16px; color: #b9a6fb; }
.ai-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 22px; margin-top: 40px; counter-reset: step; }
.ai-step { position: relative; padding-inline-start: 52px; }
.ai-step::before { counter-increment: step; content: counter(step); position: absolute; inset-inline-start: 0; top: -2px;
  width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; font-size: 17px;
  color: #04231e; background: linear-gradient(135deg, #9d7ef8, #35f0a1); }
.ai-step h4 { margin: 0 0 4px; font-size: 16.5px; color: #fff; font-weight: 800; }
.ai-step p { margin: 0; font-size: 14px; color: #bdb2dc; line-height: 1.55; }
.ai-studio-cta { margin-top: 38px; display: flex; flex-direction: row-reverse; justify-content: flex-start; flex-wrap: wrap; gap: 14px 18px; align-items: center; }
.ai-note { font-size: 13.5px; color: #8fa0c8; }

/* ---------- Before / After (Magic touch) ---------- */
.ba { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 18px; margin-top: 8px; }
.ba-col { text-align: center; }
.ba-tag { display: inline-block; font-size: 13px; font-weight: 800; border-radius: 999px; padding: 5px 14px; margin-bottom: 12px; }
.ba-tag.before { color: #9a6b00; background: #fff4d6; }
.ba-tag.after { color: #04231e; background: linear-gradient(135deg, #9d7ef8, #35f0a1); }
.ba-arrow { display: grid; place-items: center; color: var(--blue); transform: scaleX(-1); } /* point from "before" (right) toward "after" (left) */
.ba-arrow svg { width: 30px; height: 30px; }

/* ---------- reusable stylized "catalog page" mock art (clearly illustrative) ---------- */
.mp { background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-sm); padding: 16px; aspect-ratio: 3 / 4; display: flex; flex-direction: column; gap: 9px; overflow: hidden; }
.mp.messy { transform: rotate(-1.2deg); }
.mp .mp-h { height: 15px; border-radius: 5px; background: linear-gradient(90deg, var(--ink), #3a4a72); width: 62%; }
.mp .mp-h.wide { width: 84%; }
.mp .mp-bar { height: 8px; border-radius: 4px; background: #e6ecf7; }
.mp .mp-bar.s { width: 55%; } .mp .mp-bar.m { width: 78%; } .mp .mp-bar.l { width: 92%; }
.mp .mp-img { flex: 1; border-radius: 9px; background: linear-gradient(135deg, #dbe6ff, #c9e8ff); min-height: 40px; }
.mp .mp-row { display: flex; gap: 8px; }
.mp .mp-row .mp-img { min-height: 30px; }
.mp .mp-btn { height: 22px; width: 44%; border-radius: 999px; background: var(--grad); }
.mp.messy .mp-h { transform: rotate(1.5deg); width: 70%; }
.mp.messy .mp-btn { width: 60%; transform: rotate(-2deg); background: #b9c6e6; }
.mp.messy .mp-img { transform: rotate(1deg); }

/* Magic-touch before/after — realistic product-catalog pages (real content, not gray bars) */
.ba .pg { width: 100%; aspect-ratio: 3 / 4; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-sm); overflow: hidden; position: relative; text-align: right; }
/* AFTER — a REAL professionally-designed catalog page (matches the "before" card size) */
.ba .realpg { width: 100%; aspect-ratio: 3 / 4; border-radius: 16px; }
/* BEFORE — amateur, misaligned raw components (same content, badly placed) */
.pg.before > * { position: absolute; font-family: Arial, "Assistant", sans-serif; }
.pg.before .db-title { top: 6%; right: 7%; font-size: clamp(14px, 1.8vw, 19px); font-weight: 700; color: #1a1a1a; transform: rotate(-2deg); }
.pg.before .db-img { top: 22%; left: 6%; width: 54%; aspect-ratio: 4 / 5; background: linear-gradient(135deg, #dfe6ee, #cbd6e2); border-radius: 4px; transform: rotate(1.6deg); box-shadow: 0 3px 8px rgba(0, 0, 0, .08); }
.pg.before .db-text { top: 27%; right: 6%; width: 33%; font-size: 9px; color: #555; line-height: 1.5; }
.pg.before .db-price { top: 63%; right: 8%; font-size: 13.5px; font-weight: 700; color: #111; transform: rotate(-1deg); }
.pg.before .db-btn { bottom: 6%; left: 7%; background: #c7cbd4; color: #fff; font-size: 11px; font-weight: 700; padding: 8px 15px; border-radius: 4px; transform: rotate(-3.5deg); }

/* ---------- Comparison table (4 categories) ---------- */
.cmp-wrap { overflow: hidden; border-radius: var(--radius); border: 1px solid var(--line); box-shadow: var(--shadow-sm); background: var(--card); }
.cmp-table { width: 100%; border-collapse: collapse; text-align: right; }
.cmp-table th, .cmp-table td { padding: 13px 16px; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.cmp-table thead th { background: #f4f7ff; font-weight: 800; color: var(--ink); font-size: 14px; }
.cmp-table thead th.own-col { background: var(--grad); color: #fff; }
.cmp-table td.own-col { background: #f5f0ff; font-weight: 700; }
.cmp-table tbody th { font-weight: 700; color: var(--ink); background: #fbfcff; }
.cmp-table tbody tr:last-child th, .cmp-table tbody tr:last-child td { border-bottom: 0; }
.cmp-y { color: #0a8a4a; font-weight: 800; }
.cmp-n { color: #b6c0d4; }
.cmp-p { color: #9a6b00; font-weight: 700; font-size: 13px; }
.cmp-mobile { display: none; }

/* ---------- Brand kit demo ---------- */
.brand-demo { display: flex; flex-direction: column; gap: 14px; }
.brand-swatches { display: flex; gap: 10px; flex-wrap: wrap; }
.brand-sw { width: 46px; height: 46px; border-radius: 12px; box-shadow: var(--shadow-sm); }
.brand-list { display: grid; gap: 10px; }
.brand-list li { display: flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 700; font-size: 15px; list-style: none; }
.brand-list svg { width: 18px; height: 18px; color: var(--blue); flex: 0 0 auto; }

/* ---------- Multilingual + reel + analytics split bands ---------- */
.split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; }
.split.flip .split-visual { order: -1; }
.split-copy h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 800; line-height: 1.2; }
.split-copy p { color: var(--muted); font-size: 16.5px; margin-top: 14px; line-height: 1.7; }
.split-copy .mini-list { margin-top: 18px; display: grid; gap: 9px; }
.split-copy .mini-list li { display: flex; gap: 9px; align-items: flex-start; color: var(--ink); font-size: 15px; list-style: none; }
.split-copy .mini-list svg { width: 18px; height: 18px; color: #0a8a4a; flex: 0 0 auto; margin-top: 2px; }

.lang-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.lang-tabs span { font-size: 13px; font-weight: 800; padding: 6px 13px; border-radius: 999px; background: #f3efff; color: var(--muted); }
.lang-tabs span.on { background: var(--grad); color: #fff; }

/* real demo catalog page (un-mirrors the pre-mirrored -rtl images, same as the hero book) */
.realpg { position: relative; overflow: hidden; border-radius: 12px; background: #1a1208; box-shadow: var(--shadow-sm); }
.realpg > img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scaleX(-1); }
/* The Magic-Touch "after" page is a full A4 with a sparse footer band; anchor the crop
   to the top so the dense, designed content shows and the thin cut-off footer/cards at
   the bottom don't. */
#magic .realpg > img { object-position: top; }
.brand-pages { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.brand-pages .realpg { aspect-ratio: 3 / 4; }
.lang-page { aspect-ratio: 3 / 4; max-width: 250px; margin-inline: auto; }

/* multilingual: the SAME FULL coffee-catalog page in 4 languages, fanned open */
.lang-fan { position: relative; width: 100%; max-width: 480px; height: 420px; margin-inline: auto; }
.fan-card { position: absolute; left: 50%; bottom: 4px; width: 208px; aspect-ratio: 3 / 4; transform-origin: bottom center; border-radius: 15px; overflow: hidden; background: #f3ece0; box-shadow: 0 18px 44px rgba(43, 29, 16, .32); border: 1px solid rgba(43, 29, 16, .14); display: flex; flex-direction: column; }
.fan-card .fc-lang { position: absolute; top: 8px; inset-inline-end: 8px; z-index: 3; font-size: 9px; font-weight: 800; background: rgba(255, 255, 255, .96); color: #2b1d10; border-radius: 999px; padding: 2px 9px; box-shadow: 0 2px 7px rgba(0, 0, 0, .2); }
.fan-card .fc-hero { position: relative; height: 43%; padding: 13px 14px 12px; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; background: radial-gradient(135% 100% at 72% 12%, #4d3320, #291709 60%, #190e06); }
.fan-card .fc-bean { position: absolute; top: 12px; inset-inline-start: 13px; width: 22px; height: 22px; }
.fan-card .fc-brand { font-size: 8px; font-weight: 800; letter-spacing: .15em; color: #e6c877; }
.fan-card .fc-title { font-size: 16px; font-weight: 800; line-height: 1.08; margin-top: 3px; }
.fan-card .fc-sub { font-size: 9px; color: #d9c3a3; margin-top: 4px; }
.fan-card .fc-body { flex: 1; padding: 12px 14px 10px; display: flex; flex-direction: column; gap: 9px; }
.fan-card .fc-feat { display: flex; gap: 8px; align-items: flex-start; }
.fan-card .fc-dot { flex: 0 0 auto; width: 17px; height: 17px; border-radius: 50%; margin-top: 1px; }
.fan-card .fc-feat b { display: block; font-size: 9.5px; font-weight: 800; color: #2b1d10; }
.fan-card .fc-feat span { display: block; font-size: 8px; color: #7a5a3c; line-height: 1.4; margin-top: 1px; }
.fan-card .fc-price { margin-top: auto; font-size: 9.5px; font-weight: 800; color: #2b1d10; background: #e7dcc8; border: 1px solid #ddceb4; border-radius: 7px; padding: 6px; text-align: center; }
.fan-card .fc-foot { font-size: 7px; color: #a4886a; text-align: center; margin-top: 7px; }
@media (max-width: 640px) { .lang-fan { max-width: 400px; height: 370px; } .fan-card { width: 182px; } }
.heatmap .realpg { border-radius: 0; box-shadow: none; }
.heatmap .realpg { aspect-ratio: 16 / 10; }

/* reel phone frame */
.reel-phone { width: 210px; margin: 0 auto; aspect-ratio: 9 / 19; border-radius: 30px; background: #170f2c; padding: 10px; box-shadow: var(--shadow); position: relative; }
.reel-screen { width: 100%; height: 100%; border-radius: 22px; overflow: hidden; background: #170f2c; position: relative; }
.reel-stage { position: absolute; inset: 0; }
.reel-frame { position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease; }
.reel-frame > img { width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); display: block; }
.reel-frame.on { opacity: 1; }
.reel-frame.on > img { animation: reelZoom 3.6s ease both; }
@keyframes reelZoom { from { transform: scaleX(-1) scale(1.09); } to { transform: scaleX(-1) scale(1); } }
/* English page: section images are STRAIGHT (-en assets), so the un-mirroring
   transforms and the mirrored reel zoom must not apply. */
html[lang="en"] .realpg > img { transform: none; }
html[lang="en"] .reel-frame > img { transform: none; }
html[lang="en"] .reel-frame.on > img { animation-name: reelZoomLtr; }
html[lang="en"] .ba-arrow { transform: none; }
@keyframes reelZoomLtr { from { transform: scale(1.09); } to { transform: scale(1); } }
.reel-progress { position: absolute; top: 11px; inset-inline: 12px; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .25); overflow: hidden; z-index: 2; }
.reel-progress::after { content: ""; position: absolute; inset: 0; width: 100%; background: #fff; border-radius: 3px; transform-origin: right; animation: reelBar 1.8s linear infinite; }
@keyframes reelBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.reel-badge { position: absolute; bottom: 14px; inset-inline-start: 14px; font-size: 12px; font-weight: 800; color: #fff; background: rgba(0, 0, 0, .45); border-radius: 999px; padding: 5px 12px; backdrop-filter: blur(4px); z-index: 2; }
@media (prefers-reduced-motion: reduce) { .reel-frame { transition: none; } .reel-frame.on > img, .reel-progress::after { animation: none; } }

/* analytics: heatmap + stat tiles + insight */
.analytics-demo { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; }
.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.stat-tile { background: #faf8ff; border: 1px solid var(--line); border-radius: 14px; padding: 12px; text-align: center; }
.stat-tile b { display: block; font-size: 22px; font-weight: 800; color: var(--blue); }
.stat-tile span { font-size: 12px; color: var(--muted); }
.heatmap { position: relative; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); }
.heatmap .mp { border: 0; box-shadow: none; border-radius: 0; aspect-ratio: 16/9; }
.heat-dot { position: absolute; border-radius: 50%; filter: blur(6px); mix-blend-mode: multiply; }
.insight-card { margin-top: 14px; display: flex; gap: 11px; align-items: flex-start; background: #f3ecff; border: 1px solid #e3d5ff; border-radius: 14px; padding: 13px 15px; }
.insight-card .ai-badge { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: #7c3aed; color: #fff; }
.insight-card .ai-badge svg { width: 16px; height: 16px; }
.insight-card p { margin: 0; font-size: 14px; color: #43307a; line-height: 1.55; font-weight: 600; }

/* ---------- Feature tabs (5 groups) ---------- */
.ftabs-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 30px; }
.ftab-btn { font-family: inherit; font-size: 15px; font-weight: 800; color: var(--muted); background: var(--card); border: 1.5px solid var(--line); border-radius: 999px; padding: 10px 20px; cursor: pointer; transition: all .16s; display: inline-flex; align-items: center; gap: 8px; }
.ftab-btn svg { width: 17px; height: 17px; }
.ftab-btn:hover { border-color: #b9caf1; color: var(--blue); }
.ftab-btn.on { background: var(--grad); border-color: transparent; color: #fff; box-shadow: 0 8px 20px rgba(75, 31, 176,.22); }
.ftab-panel { display: none; }
.ftab-panel.on { display: block; animation: ftabIn .32s ease both; }
@keyframes ftabIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.feat-mini { display: flex; gap: 12px; align-items: flex-start; }
.feat-mini .fm-ico { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: linear-gradient(135deg, #f3efff, #f1ecff); color: var(--blue); }
.feat-mini .fm-ico svg { width: 20px; height: 20px; }
.feat-mini.ai .fm-ico { background: #f3ecff; color: #7c3aed; }
.feat-mini h4 { margin: 2px 0 4px; font-size: 16.5px; font-weight: 800; }
.feat-mini p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.feat-mini .ai-pill { display: inline-block; margin-inline-start: 6px; font-size: 11px; font-weight: 800; color: #7c3aed; background: #f3ecff; border-radius: 999px; padding: 1px 8px; vertical-align: middle; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .ways-grid { grid-template-columns: repeat(2, 1fr); }
  .ai-flow { grid-template-columns: repeat(2, 1fr); }
  .split { grid-template-columns: 1fr; gap: 26px; }
  .split.flip .split-visual { order: 0; }
  .split-copy { text-align: center; }
  .split-copy .mini-list { max-width: 380px; margin-inline: auto; text-align: right; }
  .ai-studio .section-heading { text-align: center; margin-inline: auto; }
}
@media (max-width: 640px) {
  .ways-grid { grid-template-columns: 1fr; }
  #ai.section { padding: 46px 0; }
  .ai-studio {
    border-radius: 24px;
    padding: 34px 18px 24px;
    box-shadow: 0 22px 48px rgba(13, 24, 54, .24);
  }
  .ai-studio .section-heading { margin-bottom: 24px; }
  .ai-studio .section-heading .eyebrow {
    max-width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    padding: 7px 14px;
  }
  .ai-studio .section-heading h2 {
    font-size: clamp(31px, 9.5vw, 40px);
    line-height: 1.08;
    margin-top: 18px;
  }
  .ai-studio .section-heading p.sub {
    max-width: 29ch;
    margin-inline: auto;
    font-size: 17px;
    line-height: 1.55;
  }
  .ai-caps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 24px;
  }
  .ai-cap {
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    padding: 10px 11px;
    justify-content: flex-start;
    font-size: 13.5px;
    line-height: 1.2;
    white-space: normal;
  }
  .ai-cap svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
  }
  .ai-cap:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-content: center;
  }
  .ai-flow {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 26px;
  }
  .ai-step {
    min-height: 0;
    padding: 14px 58px 14px 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .055);
  }
  .ai-step::before {
    inset-inline-start: 13px;
    top: 14px;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    font-size: 16px;
  }
  .ai-step h4 { font-size: 16.5px; }
  .ai-step p { font-size: 14px; line-height: 1.45; }
  .ai-studio-cta {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
    text-align: center;
    margin-top: 24px;
  }
  .ai-studio-cta .btn-primary {
    width: 100%;
    justify-content: center;
    padding: 14px 18px;
  }
  .ai-note { font-size: 13px; line-height: 1.45; }
  .ba { grid-template-columns: 1fr; gap: 10px; }
  .ba-arrow { transform: rotate(90deg); }
  .stat-row { grid-template-columns: 1fr 1fr; }
  /* comparison becomes one compact mobile matrix instead of separate summary cards */
  /* the .cmp-mobile variant belongs to another site; scroll the real table instead */
  .cmp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cmp-table { min-width: 560px; }
  .cmp-mobile {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1.5px solid rgba(75, 31, 176, .22);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(75, 31, 176, .12);
  }
  .cmp-mobile-head,
  .cmp-mobile-row {
    display: grid;
    grid-template-columns: minmax(116px, 1fr) repeat(4, minmax(38px, 46px));
    align-items: center;
    gap: 7px;
  }
  .cmp-mobile-head {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 13px 12px 11px;
    background: linear-gradient(180deg, #f7faff, #f3efff);
    border-bottom: 1px solid var(--line);
  }
  .cmp-mobile-head span {
    color: #62708d;
    font-size: 10.5px;
    font-weight: 800;
    text-align: center;
    line-height: 1.1;
  }
  .cmp-mobile-head span:first-child {
    color: var(--ink);
    text-align: right;
    font-size: 12px;
  }
  .cmp-mobile-head span:last-child {
    color: #fff;
    background: var(--grad);
    border-radius: 999px;
    padding: 5px 6px;
    box-shadow: 0 8px 18px rgba(75, 31, 176, .2);
  }
  .cmp-mobile-row {
    min-height: 58px;
    padding: 11px 12px;
    border-bottom: 1px solid var(--line);
  }
  .cmp-mobile-row:last-child { border-bottom: 0; }
  .cmp-mobile-feature {
    color: var(--ink);
    font-size: 14.5px;
    line-height: 1.25;
    font-weight: 800;
  }
  .cmp-status {
    display: grid;
    place-items: center;
    min-width: 0;
    height: 32px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }
  .cmp-status.yes { color: #087946; background: #e8fbf2; border-color: #c7f1dc; }
  .cmp-status.no { color: #8b96ae; background: #f2f5fb; border-color: #e5ebf6; }
  .cmp-status.part { color: #8a5a00; background: #fff6df; border-color: #f2dfac; }
  .cmp-status.own {
    color: #fff;
    background: var(--grad);
    border-color: transparent;
    box-shadow: 0 8px 18px rgba(75, 31, 176, .22);
  }
}
@media (max-width: 380px) {
  .ai-caps { grid-template-columns: 1fr; }
  .cmp-mobile-head,
  .cmp-mobile-row {
    grid-template-columns: minmax(100px, 1fr) repeat(4, minmax(35px, 40px));
    gap: 5px;
  }
  .cmp-mobile-head span { font-size: 9.5px; }
  .cmp-mobile-feature { font-size: 13.5px; }
  .cmp-status { height: 30px; font-size: 10px; }
}

/* ===== Language switch (he <-> en) — header pill; used by generated + hand-written pages ===== */
.lang-switch{display:inline-flex;align-items:center;gap:.15rem;font-size:.8rem;font-weight:700;padding:.22rem .5rem;border:1px solid rgba(20,30,55,.14);border-radius:999px;background:rgba(255,255,255,.6);line-height:1;white-space:nowrap}
.lang-switch .lang-link{color:#5b6472;text-decoration:none;padding:.12rem .32rem;border-radius:999px;transition:color .15s ease,background .15s ease}
.lang-switch .lang-link:hover{color:#141e37}
.lang-switch .lang-link.is-active{color:#1d4fd7;background:rgba(29,79,215,.1)}
.lang-switch .lang-sep{color:rgba(20,30,55,.22);font-weight:400}

/* ---------- Landing pages 2.0 (the "מדריכים" guide pages) ---------- */
.lp-wrap { padding-top: 64px; }
.lp-hero {
  padding: 66px 24px 54px;
  text-align: center;
  background:
    radial-gradient(70% 90% at 50% -20%, rgba(139, 108, 246, 0.16), transparent 65%),
    radial-gradient(50% 70% at 12% 10%, rgba(75, 31, 176, 0.10), transparent 60%);
  border-bottom: 1px solid var(--line);
}
.lp-hero-inner { max-width: 860px; margin: 0 auto; }
.lp-hero .crumbs { font-size: 13.5px; color: var(--muted); margin-bottom: 18px; }
.lp-hero .crumbs a { color: var(--muted); text-decoration: none; }
.lp-hero .crumbs a:hover { color: var(--blue); }
.lp-eyebrow { display: inline-flex; }
.lp-hero h1 {
  margin: 16px 0 0;
  font-size: clamp(30px, 4.6vw, 46px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.8px;
}
.lp-lead {
  max-width: 720px;
  margin: 16px auto 0;
  font-size: 18.5px;
  line-height: 1.8;
  color: var(--muted);
}
.lp-cta { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

.lp-main { max-width: 980px; margin: 0 auto; padding: 22px 24px 10px; }
.lp-sec { margin-top: 52px; }
.lp-sec > h2 {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  letter-spacing: -0.4px;
  margin: 0 0 18px;
  position: relative;
  padding-bottom: 12px;
}
.lp-sec > h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  width: 46px;
  height: 4px;
  border-radius: 4px;
  background: var(--grad);
}

/* Prose sections: readable measure, styled inline lists */
.lp-prose { max-width: 800px; font-size: 17px; line-height: 1.85; color: #34294e; }
.lp-prose p { margin: 0 0 14px; }
.lp-prose p:last-child { margin-bottom: 0; }
.lp-prose ul, .lp-prose ol { margin: 0 0 14px; padding-inline-start: 22px; display: grid; gap: 9px; }
.lp-prose li::marker { color: var(--blue); font-weight: 800; }
.lp-prose a { color: var(--blue); font-weight: 700; text-decoration: none; }
.lp-prose a:hover { text-decoration: underline; }
.lp-prose strong { color: var(--ink); }

/* Card grid: a ul whose items are "<strong>title:</strong> text" */
.lp-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}
.lp-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  padding: 20px 20px 18px;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.lp-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.lp-card h3 { margin: 0 0 7px; font-size: 16.5px; font-weight: 800; color: var(--ink); }
.lp-card p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--muted); }
.lp-card a { color: var(--blue); font-weight: 700; text-decoration: none; }
.lp-card a:hover { text-decoration: underline; }

/* Numbered steps: an ol whose items are "<strong>title:</strong> text" */
.lp-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; max-width: 820px; }
.lp-step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  padding: 18px 20px;
}
.lp-step-num {
  flex: 0 0 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--grad);
  color: #fff;
  font-weight: 800;
  font-size: 17px;
  margin-top: 2px;
}
.lp-step-body h3 { margin: 0 0 5px; font-size: 16.5px; font-weight: 800; }
.lp-step-body p { margin: 0; font-size: 15.5px; line-height: 1.75; color: var(--muted); }
.lp-step-body a { color: var(--blue); font-weight: 700; text-decoration: none; }
.lp-step-body a:hover { text-decoration: underline; }

/* FAQ + related inherit their existing styles; harmonize spacing */
.lp-faq .lp-faq-list { max-width: 820px; }
.lp-related { margin-top: 44px; }

/* Demo iframe block spacing inside the new layout */
.lp-main .landing-demo { margin-top: 52px; }

/* Closing gradient band */
.lp-final {
  margin: 64px 24px 70px;
}
.lp-final-inner {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
  background: var(--grad);
  color: #fff;
  border-radius: 26px;
  padding: 48px 28px 44px;
  box-shadow: 0 24px 60px rgba(75, 31, 176, 0.35);
}
.lp-final-inner h2 { margin: 0; font-size: clamp(24px, 3.4vw, 32px); font-weight: 800; letter-spacing: -0.4px; }
.lp-final-inner p { margin: 12px auto 0; max-width: 560px; font-size: 17px; line-height: 1.7; color: rgba(255, 255, 255, 0.92); }
.lp-final-btn { margin-top: 24px; background: #fff; color: var(--blue); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22); }

@media (max-width: 640px) {
  .lp-wrap { padding-top: 56px; }
  .lp-hero { padding: 46px 18px 40px; }
  .lp-main { padding: 10px 18px 6px; }
  .lp-sec { margin-top: 40px; }
  .lp-cta .btn-primary, .lp-cta .btn-secondary { width: 100%; justify-content: center; }
  .lp-step { padding: 15px 15px; gap: 12px; }
  .lp-final { margin: 48px 14px 54px; }
}

/* Product + policies share ONE grid cell: the 5th footer group used to wrap to a
   second grid row that started below the tall guides column, stretching the footer. */
.footer-col-stack { display: grid; gap: 34px; align-content: start; }

/* ============================================================
   Kampi specific components
   ============================================================ */

/* --- Hero stage: dashboard card + phone --- */
.kmp-stage { position: relative; width: 100%; max-width: 460px; }
.kmp-dash {
  background: var(--card); border: 1px solid var(--line); border-radius: 20px;
  box-shadow: var(--shadow); padding: 16px; position: relative; z-index: 1;
}
.kmp-dash-top { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.kmp-dash-top b { font-size: 14px; font-weight: 800; color: var(--ink); margin-inline-end: auto; }
.kmp-pill {
  font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 999px;
  background: #eee8ff; color: var(--blue); border: 1px solid var(--line);
}
.kmp-pill.is-live { background: #e8f8ef; color: #0a8a4a; border-color: #cbeed9; }
.kmp-week { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.kmp-day { text-align: center; }
.kmp-day span { display: block; font-size: 10.5px; font-weight: 700; color: var(--muted); margin-bottom: 5px; }
.kmp-thumb {
  height: 62px; border-radius: 10px; background: var(--grad); position: relative; overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.kmp-thumb.v2 { background: linear-gradient(140deg, #8b6cf6, #cfc2fb); }
.kmp-thumb.v3 { background: linear-gradient(140deg, #35128a, #6b46d6); }
.kmp-thumb.v4 { background: linear-gradient(140deg, #b9a6fb, #4b1fb0); }
.kmp-thumb::after {
  content: ""; position: absolute; inset-inline-start: 7px; bottom: 7px; width: 26px; height: 4px;
  border-radius: 999px; background: rgba(255,255,255,.75);
}
.kmp-thumb i {
  position: absolute; top: 6px; inset-inline-end: 6px; width: 14px; height: 14px; border-radius: 50%;
  background: rgba(255,255,255,.9); display: grid; place-items: center;
}
.kmp-thumb i svg { width: 9px; height: 9px; color: #0a8a4a; }
.kmp-rowline { margin-top: 14px; display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); font-weight: 600; }
.kmp-bar { flex: 1; height: 6px; border-radius: 999px; background: #efeafd; overflow: hidden; }
.kmp-bar b { display: block; height: 100%; width: 72%; background: var(--grad); border-radius: 999px; }

/* מסגרת מכשיר פוטוריאליסטית (בזל טיטניום, דינמיק-איילנד, ברק מסך, כפתור צד, עומק) */
.kmp-phone {
  position: absolute; inset-inline-end: -34px; bottom: -46px; width: 162px; aspect-ratio: 9/18.7;
  border-radius: 30px; padding: 5.5px; z-index: 2;
  background: linear-gradient(150deg, #4a4166 0%, #241c3f 44%, #0c0918 100%);
  box-shadow:
    0 1.5px 1px rgba(255,255,255,.24) inset,
    0 -1.5px 3px rgba(0,0,0,.6) inset,
    0 32px 60px -14px rgba(24,8,66,.5),
    0 12px 26px rgba(24,8,66,.3);
}
.kmp-phone::before { /* מסילת זכוכית פנימית */
  content: ""; position: absolute; inset: 2.5px; border-radius: 27px; pointer-events: none; z-index: 3;
  box-shadow: 0 0 0 1.2px rgba(255,255,255,.07) inset, 0 0 0 2.5px rgba(0,0,0,.4);
}
.kmp-phone::after { /* כפתורי צד */
  content: ""; position: absolute; inset-inline-start: -2px; top: 25%; width: 2.5px; height: 22px;
  border-radius: 4px; background: linear-gradient(#615682, #2c2444);
  box-shadow: 0 32px 0 0 #514774, 0 62px 0 0 #514774;
}
.kmp-screen {
  width: 100%; height: 100%; border-radius: 25px; overflow: hidden; background: #fff;
  display: flex; flex-direction: column; position: relative;
}
.kmp-screen::before { /* דינמיק-איילנד */
  content: ""; position: absolute; top: 6px; left: 50%; transform: translateX(-50%);
  width: 42px; height: 11px; border-radius: 11px; background: #07050e; z-index: 9;
  box-shadow: 0 0 0 1px rgba(255,255,255,.05);
}
.kmp-screen::after { /* ברק זכוכית אלכסוני */
  content: ""; position: absolute; inset: 0; z-index: 8; pointer-events: none; border-radius: 25px;
  background: linear-gradient(122deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.06) 20%, rgba(255,255,255,0) 40%);
}
.kmp-post-head { display: flex; align-items: center; gap: 6px; padding: 8px; border-bottom: 1px solid #f0ecfb; }
.kmp-avatar { width: 20px; height: 20px; border-radius: 50%; background: var(--grad); }
.kmp-post-head span { font-size: 9.5px; font-weight: 800; color: var(--ink); }
.kmp-post-img { flex: 1; background: linear-gradient(150deg, #4b1fb0, #8b6cf6 55%, #cfc2fb); position: relative; }
.kmp-post-img::after {
  content: ""; position: absolute; inset: 22% 18% auto 18%; height: 5px; border-radius: 999px; background: rgba(255,255,255,.85);
}
.kmp-post-img::before {
  content: ""; position: absolute; inset: 34% 30% auto 18%; height: 5px; border-radius: 999px; background: rgba(255,255,255,.55);
}
.kmp-post-bar { display: flex; gap: 6px; padding: 8px; }
.kmp-post-bar i { width: 13px; height: 13px; border-radius: 4px; background: #efeafd; }

@media (max-width: 900px) {
  .kmp-stage { max-width: 380px; margin-inline: auto; }
  .kmp-phone { inset-inline-end: -14px; bottom: -34px; width: 128px; }
}

/* --- Channel cards --- */
.kmp-chan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.kmp-chan {
  background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 18px;
  display: flex; flex-direction: column; gap: 8px; box-shadow: var(--shadow-sm);
}
.kmp-chan-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #fff; }
.kmp-chan-ico svg { width: 21px; height: 21px; }
.kmp-chan h3 { font-size: 16px; font-weight: 800; color: var(--ink); }
.kmp-chan p { font-size: 13.5px; color: var(--muted); line-height: 1.55; }
.kmp-chan-state { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; color: #0a8a4a; margin-top: auto; }
.kmp-chan-state::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #0a8a4a; }

/* --- Approval flow strip --- */
.kmp-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.kmp-flow-step {
  background: #faf8ff; border: 1px solid var(--line); border-radius: 16px; padding: 16px; position: relative;
}
.kmp-flow-step b { display: block; font-size: 15px; font-weight: 800; color: var(--ink); margin-bottom: 6px; }
.kmp-flow-step p { font-size: 13.5px; color: var(--muted); line-height: 1.55; }
.kmp-flow-num {
  width: 26px; height: 26px; border-radius: 8px; background: var(--grad); color: #fff;
  display: grid; place-items: center; font-weight: 800; font-size: 13px; margin-bottom: 10px;
}

/* --- Live now strip --- */
.kmp-live { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 22px 16px; align-items: start; }
.kmp-live-card { background: transparent; border: none; border-radius: 0; overflow: visible; box-shadow: none; }
/* כל קריאייטיב חי בתוך מוקאפ טלפון: בזל, דינמיק-איילנד, ברק זכוכית, וצל עומק */
.kmp-live-top {
  width: 100%; max-width: 150px; height: auto; aspect-ratio: 9 / 18.6; margin: 0 auto 12px;
  border-radius: 26px; padding: 0; position: relative;
  background: linear-gradient(150deg, #4a4166 0%, #241c3f 44%, #0c0918 100%);
  box-shadow:
    0 1.5px 1px rgba(255,255,255,.22) inset,
    0 -1.5px 3px rgba(0,0,0,.55) inset,
    0 22px 44px -10px rgba(24,8,66,.42),
    0 8px 18px rgba(24,8,66,.26);
}
.kmp-live-top .cr { position: absolute !important; inset: 5px !important; width: auto !important; height: auto !important; border-radius: 21px !important; overflow: hidden !important; }
.kmp-live-top::after { /* דינמיק-איילנד */
  content: ""; position: absolute; top: 11px; left: 50%; transform: translateX(-50%);
  width: 36px; height: 10px; border-radius: 10px; background: #07050e; z-index: 9;
}
.kmp-live-top::before { /* ברק זכוכית */
  content: ""; position: absolute; inset: 5px; border-radius: 22px; z-index: 8; pointer-events: none;
  background: linear-gradient(122deg, rgba(255,255,255,.2), rgba(255,255,255,0) 34%);
}
.kmp-live-body { padding: 0 4px; text-align: center; }
.kmp-live-body b { display: block; font-size: 13px; font-weight: 800; color: var(--ink); }
.kmp-live-body span { font-size: 11.5px; color: var(--muted); font-weight: 600; }
.kmp-clock { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 800; color: #b4530a; background: #fff4e2; border-radius: 999px; padding: 3px 9px; margin-top: 7px; }

/* ============================================================
   Legal / policy pages
   ============================================================ */
.legal-wrap { max-width: 840px; margin: 0 auto; padding: 40px 24px 80px; }
.legal-head { margin-bottom: 28px; }
.crumbs { font-size: 13.5px; color: var(--muted); margin-bottom: 16px; }
.crumbs a { color: var(--blue); font-weight: 600; text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.crumbs span { color: var(--muted); }
.legal-head .eyebrow {
  display: inline-block; font-weight: 700; font-size: 13px; color: var(--blue);
  background: rgba(75, 31, 176, 0.08); border: 1px solid var(--line);
  padding: 5px 12px; border-radius: 999px; margin-bottom: 14px;
}
.legal-head h1 { font-size: clamp(28px, 5vw, 40px); line-height: 1.15; letter-spacing: -0.5px; }
.legal-head .updated { color: var(--muted); font-size: 14px; margin-top: 10px; }
.legal-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-sm); padding: 30px 32px;
}
.legal-intro {
  background: rgba(139, 108, 246, 0.08); border: 1px solid var(--line);
  border-radius: 16px; padding: 16px 18px; color: var(--muted); font-size: 15px; margin-bottom: 26px;
}
.legal-card h2 {
  font-size: 20px; margin: 30px 0 10px; color: var(--ink); letter-spacing: -0.3px;
  padding-top: 18px; border-top: 1px solid var(--line);
}
.legal-card h2:first-of-type { border-top: 0; padding-top: 0; }
.legal-card h3 { font-size: 16px; margin: 16px 0 6px; color: var(--ink); }
.legal-card p, .legal-card li { color: #34294e; font-size: 15.5px; line-height: 1.75; }
.legal-card ul, .legal-card ol { padding-inline-start: 22px; margin: 8px 0 4px; }
.legal-card li { margin-bottom: 6px; }
.legal-card a { color: var(--blue); font-weight: 600; }
.legal-note { font-size: 13.5px; color: var(--muted); margin-top: 26px; padding-top: 18px; border-top: 1px dashed var(--line); }
.back-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; font-weight: 700; color: var(--blue); text-decoration: none; }
@media (max-width: 620px) { .legal-card { padding: 22px 18px; } }

/* Hero stage overrides: chips must float above the dashboard + phone */
.kmp-stage .floating-chip { z-index: 3; }
.kmp-stage .chip-a { top: -18px; left: auto; inset-inline-start: -22px; }
.kmp-stage .chip-b { bottom: -26px; right: auto; inset-inline-end: -18px; }
.kmp-phone { inset-inline-end: -56px; bottom: -52px; }
@media (max-width: 900px) {
  .kmp-stage .chip-a { inset-inline-start: -6px; }
  .kmp-stage .chip-b { inset-inline-end: -6px; }
  .kmp-phone { inset-inline-end: -18px; bottom: -38px; }
}

/* ===== Homepage pricing: three tiers ===== */
.pricing-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 8px; }
.ptier {
  position: relative;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 30px 26px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
}
.ptier-pro { border-color: var(--blue); background: linear-gradient(135deg, rgba(75, 31, 176, .05), rgba(139, 108, 246, .08)); }
.ptier-badge {
  position: absolute;
  inset-block-start: -12px;
  inset-inline-start: 26px;
  background: var(--grad);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(75, 31, 176, .3);
}
.ptier-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ptier-head h3 { font-size: 24px; font-weight: 800; }
.ptier-from { color: var(--muted); font-size: 14px; }
.ptier-from b { font-size: 26px; font-weight: 800; color: var(--blue); letter-spacing: -.02em; }
.ptier-from span { font-size: 13px; }
.ptier-tag { margin-top: 12px; color: #4a4067; font-size: 14.5px; line-height: 1.7; }
.ptier-prices { list-style: none; margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); display: grid; gap: 11px; }
.ptier-prices li { display: flex; align-items: baseline; justify-content: space-between; font-size: 15px; }
.ptier-prices li span { color: var(--muted); }
.ptier-prices li b { font-weight: 800; font-size: 17px; }
.ptier-cta { margin-top: 22px; }
@media (max-width: 1000px) { .pricing-tiers { grid-template-columns: 1fr; } }

/* ===== Homepage plan comparison disclosure ===== */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.plan-compare-control { display: flex; justify-content: center; margin-top: 32px; }
.plan-compare-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 54px;
  padding: 11px 17px 11px 26px;
  border: 1px solid rgba(75, 31, 176, .3);
  border-radius: 999px;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 10px 28px rgba(75, 31, 176, .13);
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.plan-compare-trigger:hover {
  transform: translateY(-2px);
  border-color: var(--blue);
  background: #faf8ff;
  box-shadow: 0 15px 34px rgba(75, 31, 176, .18);
}
.plan-compare-trigger:focus-visible { outline: 3px solid rgba(75, 31, 176, .27); outline-offset: 4px; }
.plan-compare-trigger-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--grad);
  position: relative;
  flex: 0 0 auto;
}
.plan-compare-trigger-icon::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-inline-end: 2px solid #fff;
  border-block-end: 2px solid #fff;
  inset: 8px 9px auto auto;
  transform: rotate(45deg);
  transition: transform .2s ease, inset .2s ease;
}
.plan-compare-trigger[aria-expanded="true"] .plan-compare-trigger-icon::before {
  inset: 11px 9px auto auto;
  transform: rotate(225deg);
}
.plan-comparison[hidden] { display: none; }
.plan-comparison {
  margin-top: 20px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid rgba(75, 31, 176, .18);
  border-radius: calc(var(--radius) + 4px);
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(247, 244, 255, .96));
  box-shadow: 0 24px 60px rgba(39, 24, 78, .12);
}
.plan-comparison.is-open { animation: planCompareIn .28s ease both; }
@keyframes planCompareIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
.plan-comparison-heading {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(300px, 1fr);
  align-items: end;
  gap: 24px;
  margin-bottom: 22px;
}
.plan-comparison-kicker { display: block; color: var(--blue); font-size: 13px; font-weight: 800; margin-bottom: 5px; }
.plan-comparison-heading h3 { font-size: clamp(24px, 3vw, 34px); line-height: 1.15; font-weight: 800; letter-spacing: -.025em; }
.plan-comparison-heading p { color: #4f4568; font-size: 15px; line-height: 1.7; }
.plan-compare-wrap {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(35, 29, 63, .07);
}
.plan-compare-wrap:focus-visible { outline: 3px solid rgba(75, 31, 176, .25); outline-offset: 3px; }
.plan-compare-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: center; }
.plan-compare-table th, .plan-compare-table td {
  padding: 14px 12px;
  border-block-end: 1px solid #e9e5f2;
  border-inline-start: 1px solid #eeeaf5;
  color: #332947;
  font-size: 14px;
  line-height: 1.35;
  vertical-align: middle;
}
.plan-compare-table th:first-child, .plan-compare-table td:first-child { border-inline-start: 0; }
.plan-compare-table thead th {
  position: relative;
  padding-block: 19px;
  background: #f7f5fc;
  color: #261c39;
  font-size: 16px;
  font-weight: 800;
}
.plan-compare-table thead th:first-child { width: 37%; text-align: right; }
.plan-compare-table tbody th, .plan-compare-table tfoot th {
  text-align: right;
  background: #fbfaff;
  color: #332947;
  font-weight: 700;
}
.plan-compare-table tbody tr:nth-child(even) > :not(.plan-featured-col) { background-color: #fdfcff; }
.plan-compare-table .plan-featured-col { background: #f4f0ff; }
.plan-compare-table thead .plan-featured-col { color: #fff; background: var(--grad); }
.plan-column-badge {
  display: block;
  width: max-content;
  margin: 0 auto 5px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .2);
  font-size: 10px;
  font-weight: 800;
}
.plan-status {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}
.plan-status-yes { color: #166947; background: #e3f5eb; }
.plan-status-no { color: #9d2944; background: #fde8ed; }
.plan-compare-table tfoot th, .plan-compare-table tfoot td { border-block-end: 0; padding-block: 16px; }
.plan-compare-table tfoot a {
  display: inline-flex;
  justify-content: center;
  min-width: 76px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #ece6ff;
  color: var(--blue);
  font-weight: 800;
  text-decoration: none;
}
.plan-compare-table tfoot .plan-featured-col a { color: #fff; background: var(--grad); }
.plan-compare-table tfoot a:focus-visible { outline: 3px solid rgba(75, 31, 176, .28); outline-offset: 3px; }
.plan-comparison-note { margin-top: 15px; color: #5f5576; font-size: 13.5px; line-height: 1.6; text-align: center; }

@media (max-width: 700px) {
  .plan-compare-control { margin-top: 26px; }
  .plan-compare-trigger { width: 100%; max-width: 320px; }
  .plan-comparison { padding: 18px 10px 16px; border-radius: 20px; }
  .plan-comparison-heading { grid-template-columns: 1fr; gap: 8px; padding-inline: 8px; }
  .plan-comparison-heading p { font-size: 14px; }
  .plan-compare-table th, .plan-compare-table td { padding: 12px 5px; font-size: 12px; overflow-wrap: anywhere; }
  .plan-compare-table thead th { padding-block: 14px; font-size: 13px; }
  .plan-compare-table thead th:first-child { width: 40%; }
  .plan-column-badge { font-size: 8px; padding-inline: 5px; }
  .plan-status { width: 25px; height: 25px; font-size: 16px; }
  .plan-compare-table tfoot a { min-width: 0; padding: 7px 8px; font-size: 11px; }
  .plan-comparison-note { padding-inline: 8px; font-size: 12.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .plan-compare-trigger, .plan-compare-trigger-icon::before { transition: none; }
  .plan-comparison.is-open { animation: none; }
}

/* ============================================================
   Product-first landing experience
   The real product is the visual language: large, legible screens and a
   scroll/play story driven by landing-story.js.
   ============================================================ */

.hero-product-first {
  grid-template-columns: minmax(340px, .86fr) minmax(0, 1.28fr);
  gap: clamp(28px, 4vw, 64px);
  min-height: calc(100svh - 78px);
  padding: clamp(42px, 6vh, 72px) 0 clamp(64px, 9vh, 104px);
  position: relative;
}

.hero-product-first::before {
  content: "";
  position: absolute;
  width: 68vw;
  height: 68vw;
  max-width: 880px;
  max-height: 880px;
  inset-inline-start: -24vw;
  top: -22vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 108, 246, .18), rgba(139, 108, 246, 0) 68%);
  pointer-events: none;
}

.hero-product-first .hero-copy { position: relative; z-index: 5; }
.hero-product-first .hero-eyebrow { margin-bottom: 16px; }
.hero-product-first h1 {
  margin-top: 0;
  max-width: 13ch;
  font-size: clamp(38px, 4.45vw, 64px);
  line-height: 1.04;
  letter-spacing: -.035em;
}
.hero-product-first h1 .grad { display: inline; }
.hero-product-first .lead {
  max-width: 47ch;
  margin-top: 24px;
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.7;
}
.hero-product-first .hero-subaction {
  max-width: 52ch;
  font-size: 14px;
  line-height: 1.55;
}

.hero-flow {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 24px;
  color: var(--muted);
}
.hero-flow li {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
}
.hero-flow li:not(:last-child)::after {
  content: "";
  width: clamp(12px, 2vw, 30px);
  height: 1px;
  margin-inline: 9px;
  background: linear-gradient(90deg, rgba(75,31,176,.18), rgba(139,108,246,.7));
}
.hero-flow li span {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border: 1px solid rgba(75, 31, 176, .22);
  border-radius: 50%;
  background: rgba(255,255,255,.78);
  color: var(--blue);
  font-size: 11px;
}

.hero-product-visual {
  min-width: 0;
  min-height: 540px;
  isolation: isolate;
  perspective: 1400px;
}
.hero-orbit {
  position: absolute;
  border: 1px solid rgba(139, 108, 246, .2);
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
}
.hero-orbit::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8b6cf6;
  box-shadow: 0 0 24px rgba(139,108,246,.9);
}
.hero-orbit-a { width: 620px; height: 620px; inset-inline-start: -50px; top: -25px; transform: rotate(-9deg); }
.hero-orbit-a::after { top: 62px; right: 92px; }
.hero-orbit-b { width: 460px; height: 460px; inset-inline-start: 40px; top: 62px; transform: rotate(22deg); }
.hero-orbit-b::after { bottom: 52px; left: 74px; background: #52d39a; }

.product-window {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 24px;
  background: #130d24;
  box-shadow: 0 44px 100px rgba(35, 15, 88, .28), 0 12px 30px rgba(35, 15, 88, .16);
}
.hero-product-window {
  width: min(690px, 100%);
  transform: rotateY(-4deg) rotateX(1.2deg) translateZ(0);
  transform-origin: center;
  transition: transform .5s cubic-bezier(.22,.8,.25,1), box-shadow .5s ease;
  z-index: 2;
}
.hero-product-window:hover,
.hero-product-window:focus-within {
  transform: rotateY(0) rotateX(0) translateY(-5px);
  box-shadow: 0 52px 120px rgba(35, 15, 88, .34), 0 16px 36px rgba(35, 15, 88, .2);
}
.product-window-bar {
  height: 40px;
  display: grid;
  grid-template-columns: 1fr minmax(150px, 38%) 1fr;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  direction: ltr;
  color: #b7acd3;
  background: linear-gradient(180deg, #19112d, #110b20);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.window-dots { display: flex; gap: 6px; }
.window-dots i { width: 8px; height: 8px; border-radius: 50%; background: #6e628a; }
.window-dots i:first-child { background: #ff6f75; }
.window-dots i:nth-child(2) { background: #ffc65a; }
.window-dots i:nth-child(3) { background: #57d39a; }
.window-address {
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 8px;
  background: rgba(255,255,255,.055);
  font-size: 10px;
  letter-spacing: .02em;
}
.window-lock { color: #57d39a; font-size: 7px; }
.window-brand { justify-self: end; color: #d8cff2; font-weight: 800; font-size: 11px; }
.product-screen-stack,
.story-screen-stack {
  position: relative;
  aspect-ratio: 880 / 510;
  overflow: hidden;
  background: #f5f2fb;
}
.product-screen,
.story-screen {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.035);
  transition: opacity .75s ease, transform 1.15s cubic-bezier(.22,.8,.25,1);
}
.product-screen.is-active,
.story-screen.is-active { opacity: 1; transform: scale(1); }

.hero-play {
  position: absolute;
  inset: 40px 0 0;
  width: 100%;
  border: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  color: #fff;
  cursor: pointer;
  background: radial-gradient(circle at center, rgba(23, 10, 54, .62), rgba(23, 10, 54, .1) 38%, transparent 68%);
  opacity: .13;
  transition: opacity .25s ease, background .25s ease;
}
.hero-product-window:hover .hero-play,
.hero-play:focus-visible { opacity: 1; background-color: rgba(19, 8, 47, .22); }
.play-icon {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 24px 60px rgba(15,7,34,.4), inset 0 0 0 7px rgba(75,31,176,.09);
  transition: transform .25s ease;
}
.play-icon::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 21px solid var(--blue);
  margin-left: 5px;
}
.hero-play:hover .play-icon { transform: scale(1.08); }
.play-label {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(17,10,34,.78);
  backdrop-filter: blur(8px);
  font-size: 13px;
  font-weight: 800;
}
.hero-signal {
  position: absolute;
  z-index: 4;
  border: 1px solid rgba(255,255,255,.76);
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 44px rgba(37, 18, 82, .18);
  backdrop-filter: blur(16px);
}
.hero-signal-plan {
  top: 48px;
  inset-inline-end: -22px;
  display: grid;
  padding: 12px 15px;
  border-radius: 16px;
  animation: productFloat 5.5s ease-in-out infinite;
}
.hero-signal-plan small { color: var(--muted); font-size: 10.5px; font-weight: 700; }
.hero-signal-plan strong { color: var(--ink); font-size: 13.5px; }
.hero-signal-live {
  bottom: 72px;
  inset-inline-start: -20px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 999px;
  color: #087846;
  font-size: 12px;
  font-weight: 800;
  animation: productFloat 6s ease-in-out -2.2s infinite;
}
.hero-signal-live i,
.story-status i { width: 8px; height: 8px; border-radius: 50%; background: #20bd74; box-shadow: 0 0 0 5px rgba(32,189,116,.12); }
.hero-channels {
  position: absolute;
  z-index: 4;
  inset-inline-end: 34px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(75,31,176,.12);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 34px rgba(37, 18, 82, .14);
}
.hero-channels img,
.story-channel-flight img {
  width: 24px;
  height: 24px;
  display: block;
}
.hero-channels b { font-size: 11px; }

@keyframes productFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-9px); }
}

/* Product scroll story */
.product-story {
  --story-progress: 0;
  --story-local: 0;
  width: min(1440px, calc(100vw - 32px));
  height: 470vh;
  min-height: 2800px;
  position: relative;
  margin-block: 18px 34px;
  margin-inline: calc((100% - min(1440px, calc(100vw - 32px))) / 2);
  border-radius: 38px;
  color: #f8f6ff;
  background:
    radial-gradient(circle at 16% 34%, rgba(104,66,214,.3), transparent 30%),
    radial-gradient(circle at 85% 76%, rgba(139,108,246,.18), transparent 28%),
    linear-gradient(145deg, #10091f, #1b1133 48%, #0d0917);
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 40px 100px rgba(31,16,70,.13);
  scroll-margin-top: 76px;
}
.story-sticky {
  position: sticky;
  top: 78px;
  min-height: calc(100svh - 94px);
  max-height: calc(100svh - 94px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: clamp(28px, 4vw, 62px);
}
.story-sticky::before {
  content: "K";
  position: absolute;
  inset-inline-start: -4vw;
  top: -18vh;
  color: rgba(255,255,255,.018);
  font-size: min(70vw, 820px);
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}
.story-topline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  width: min(1240px, 100%);
  margin: 0 auto clamp(20px, 3vh, 34px);
}
.story-kicker {
  display: block;
  margin-bottom: 7px;
  color: #b9a7f7;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
}
.story-topline h2 { font-size: clamp(26px, 3vw, 44px); line-height: 1.08; }
.story-progress-wrap { width: min(230px, 24vw); text-align: left; direction: rtl; }
.story-progress-wrap > span { display: block; margin-bottom: 7px; color: #bcb1d5; font-size: 12px; font-weight: 700; }
.story-progress { height: 4px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.1); }
.story-progress i { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8b6cf6, #d8ccff); transform: scaleX(calc(.2 + var(--story-progress) * .8)); transform-origin: right; transition: transform .18s linear; }
.story-layout {
  position: relative;
  z-index: 2;
  width: min(1240px, 100%);
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(270px, 330px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 4vw, 66px);
  margin: 0 auto;
}
.story-copy { min-width: 0; }
.story-chapters { list-style: none; display: grid; gap: 3px; }
.story-chapters li {
  border-inline-start: 1px solid rgba(255,255,255,.12);
  padding: 3px 0 3px 17px;
  opacity: .45;
  transition: opacity .28s ease, border-color .28s ease, padding .28s ease;
}
.story-chapters li.is-active { opacity: 1; border-inline-start-color: #a98ef6; padding-block: 8px; }
.story-chapters button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 0;
  padding: 5px 0;
  color: inherit;
  background: transparent;
  text-align: right;
  cursor: pointer;
}
.story-chapters button span { color: #9076d8; font-size: 11px; font-weight: 800; }
.story-chapters button b { font-size: 15px; }
.story-chapters li p {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  color: #c7bddb;
  font-size: 13px;
  line-height: 1.65;
  transition: max-height .4s ease, opacity .35s ease, margin .35s ease;
}
.story-chapters li.is-active p { max-height: 90px; margin: 4px 0 5px; opacity: 1; }
.story-controls { display: flex; align-items: center; gap: 10px; margin-top: 18px; }
.story-play-button,
.story-skip {
  border-radius: 999px;
  font-family: inherit;
  font-weight: 800;
  cursor: pointer;
}
.story-play-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(255,255,255,.22);
  padding: 10px 15px;
  color: #fff;
  background: rgba(255,255,255,.1);
  transition: background .2s ease, transform .2s ease;
}
.story-play-button:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); }
.story-play-button.is-playing { background: #fff; color: #35128a; }
.mini-play { width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; }
.story-play-button.is-playing .mini-play { width: 8px; height: 10px; border: 0; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.story-skip { border: 0; padding: 9px 4px; color: #afa4c7; background: transparent; }
.story-skip:hover { color: #fff; }
.story-stage {
  min-width: 0;
  position: relative;
  perspective: 1300px;
  transform: translateY(calc((.5 - var(--story-local)) * 8px));
}
.story-glow {
  position: absolute;
  width: 84%;
  height: 72%;
  left: 8%;
  top: 18%;
  border-radius: 50%;
  background: rgba(112,75,226,.36);
  filter: blur(70px);
  transform: scale(calc(.92 + var(--story-progress) * .13));
}
.story-product-window {
  width: 100%;
  transform: rotateY(calc(-2deg + var(--story-local) * 4deg)) rotateX(calc(1deg - var(--story-local) * 1deg));
  transition: transform .22s linear;
}
.story-status {
  position: absolute;
  z-index: 4;
  inset-inline-end: -16px;
  bottom: -17px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #efeaff;
  background: rgba(25,15,50,.82);
  box-shadow: 0 16px 40px rgba(0,0,0,.26);
  backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 800;
  transition: transform .35s ease, opacity .35s ease;
}
.story-status.is-changing { transform: translateY(7px); opacity: .3; }
.story-channel-flight {
  position: absolute;
  z-index: 3;
  inset-inline-start: -24px;
  top: 25%;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border-radius: 14px;
  color: #fff;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  opacity: calc(max(0, (var(--story-progress) - .72) * 4));
  transform: translateX(calc((1 - var(--story-progress)) * -40px));
}
.story-channel-flight b { font-size: 11px; }
.story-noscript { padding: 24px; text-align: center; }

.product-promise {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: 74px 0 24px;
  padding: 24px 30px;
  border: 1px solid rgba(75,31,176,.11);
  border-radius: 22px;
  background: rgba(255,255,255,.76);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(12px);
  scroll-margin-top: 90px;
}
.product-promise p { color: var(--ink); font-size: 17px; font-weight: 800; }
.product-promise > div { display: flex; align-items: center; gap: clamp(8px, 1.6vw, 18px); color: var(--blue); font-size: 13px; font-weight: 800; }
.product-promise i { width: clamp(14px, 2vw, 30px); height: 1px; background: linear-gradient(90deg, rgba(75,31,176,.25), #8b6cf6); }

/* Real product surfaces: a compact visual replacement for repeated feature prose. */
.product-surfaces { padding-top: 88px; scroll-margin-top: 90px; }
.product-surfaces-heading { max-width: 720px; }
.product-bento {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.product-surface {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(75,31,176,.12);
  border-radius: 25px;
  background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(245,241,255,.88));
  box-shadow: 0 22px 56px rgba(57,29,117,.09);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.product-surface:hover {
  transform: translateY(-5px);
  border-color: rgba(75,31,176,.24);
  box-shadow: 0 30px 72px rgba(57,29,117,.14);
}
.product-surface-wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
  align-items: stretch;
}
.product-surface-copy {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 24px 25px 19px;
}
.product-surface-wide .product-surface-copy { align-self: center; padding: 30px; }
.product-surface-copy > span {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  color: var(--blue);
  background: rgba(75,31,176,.08);
  font-size: 11px;
  font-weight: 800;
}
.product-surface h3 { font-size: 19px; line-height: 1.25; }
.product-surface p { margin-top: 5px; color: var(--muted); font-size: 13.5px; line-height: 1.55; }
.product-surface-media {
  min-height: 0;
  overflow: hidden;
  margin: 0 16px 16px;
  border: 1px solid rgba(75,31,176,.1);
  border-radius: 17px;
  background: #171026;
  box-shadow: 0 14px 35px rgba(33,17,69,.12);
}
.product-surface-wide .product-surface-media { margin: 16px 0 16px 16px; }
.product-surface-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.22,.8,.25,1);
}
.product-surface:not(.product-surface-wide) .product-surface-media img { aspect-ratio: 880 / 510; min-height: 0; }
.product-surface:hover .product-surface-media img { transform: scale(1.018); }

.hero-play:focus-visible,
.story-play-button:focus-visible,
.story-skip:focus-visible,
.story-chapters button:focus-visible {
  outline: 3px solid #c8b8ff;
  outline-offset: 4px;
}

@media (max-width: 1120px) {
  .hero-product-first { grid-template-columns: minmax(315px, .82fr) minmax(0, 1.18fr); gap: 28px; }
  .hero-product-first h1 { font-size: clamp(36px, 4.6vw, 52px); }
  .hero-product-visual { min-height: 470px; }
  .hero-signal-plan { inset-inline-end: -4px; }
  .hero-signal-live { inset-inline-start: -5px; }
  .story-sticky { padding-inline: 36px; }
}

@media (max-width: 960px) {
  .hero-product-first {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 46px;
    text-align: center;
  }
  .hero-product-first .hero-copy { max-width: 720px; margin: 0 auto; }
  .hero-product-first h1 { max-width: 15ch; margin-inline: auto; font-size: clamp(40px, 7vw, 58px); }
  .hero-product-first .lead { margin-inline: auto; }
  .hero-product-first .hero-actions,
  .hero-product-first .hero-flow { justify-content: center; }
  .hero-product-first .hero-subaction { margin-inline: auto; }
  .hero-product-first .hero-product-visual { order: 0; width: min(760px, 100%); min-height: 450px; margin: 10px auto 0; }
  .hero-product-window { width: min(680px, 92%); }
  .story-layout { grid-template-columns: minmax(240px, 285px) minmax(0, 1fr); gap: 28px; }
  .story-sticky { padding-inline: 28px; }
}

@media (max-width: 760px) {
  .hero-product-first { padding: 36px 0 48px; }
  .hero-product-first h1 { font-size: clamp(35px, 10.3vw, 48px); line-height: 1.08; }
  .hero-product-first .lead { font-size: 17px; }
  .hero-flow { width: 100%; justify-content: space-between !important; }
  .hero-flow li { display: grid; justify-items: center; gap: 5px; font-size: 11px; }
  .hero-flow li:not(:last-child)::after { display: none; }
  .hero-product-first .hero-product-visual { min-height: 330px; }
  .hero-product-window { width: 100%; transform: none; border-radius: 18px; }
  .product-window-bar { height: 34px; padding-inline: 10px; grid-template-columns: 1fr minmax(120px, 46%) 1fr; }
  .hero-play { inset-block-start: 34px; opacity: .94; background: radial-gradient(circle at center, rgba(23,10,54,.38), transparent 48%); }
  .play-icon { width: 64px; height: 64px; }
  .play-icon::after { border-top-width: 10px; border-bottom-width: 10px; border-left-width: 17px; }
  .hero-signal-plan { top: 2px; inset-inline-end: 3px; transform: scale(.88); transform-origin: top right; animation: none; }
  .hero-signal-live { bottom: 8px; inset-inline-start: 0; transform: scale(.88); transform-origin: bottom left; animation: none; }
  .hero-channels { inset-inline-end: 20px; bottom: -31px; }

  .product-story {
    width: calc(100vw - 20px);
    height: auto;
    min-height: 0;
    margin-block: 26px 0;
    margin-inline: calc((100% - (100vw - 20px)) / 2);
    border-radius: 28px;
  }
  .story-sticky {
    position: relative;
    top: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    padding: 36px 18px 30px;
  }
  .story-topline { display: grid; gap: 16px; margin-bottom: 22px; text-align: center; }
  .story-topline h2 { font-size: 30px; }
  .story-progress-wrap { width: 100%; text-align: center; }
  .story-layout { display: flex; flex-direction: column; gap: 26px; }
  .story-stage { width: 100%; order: -1; transform: none; }
  .story-product-window { transform: none; border-radius: 17px; }
  .story-copy { width: 100%; }
  .story-chapters { grid-template-columns: repeat(5, 1fr); gap: 5px; }
  /* במובייל ה-li הופך שקוף לגריד (display: contents): חמשת הכפתורים יושבים בשורה
     הראשונה, והתיאור של השלב הפעיל פורש שורה שנייה לכל רוחב הרכיב — בלי זה הוא
     נדחס לעמודת 1/5 ונשבר מילה-מילה. העמעום עובר מה-li לכפתור. */
  .story-chapters li,
  .story-chapters li.is-active { display: contents; min-width: 0; padding: 0; border: 0; }
  .story-chapters button { display: grid; grid-row: 1; justify-items: center; gap: 2px; padding: 7px 2px; border-radius: 10px; text-align: center; opacity: .5; }
  .story-chapters li.is-active button { background: rgba(255,255,255,.1); opacity: 1; }
  .story-chapters button b { font-size: 10.5px; line-height: 1.25; }
  .story-chapters li p { display: none; }
  .story-chapters li.is-active p { display: block; grid-row: 2; grid-column: 1 / -1; max-height: none; min-height: 0; margin: 10px 0 0; padding: 0 8px; text-align: center; font-size: 13.5px; line-height: 1.6; }
  .story-controls { justify-content: center; margin-top: 18px; }
  .story-status { inset-inline-end: 8px; bottom: -16px; }
  .story-channel-flight { inset-inline-start: 4px; top: 18%; }
  .product-promise { display: grid; justify-items: center; margin-top: 42px; padding: 22px 16px; text-align: center; }
  .product-promise > div { width: 100%; justify-content: center; flex-wrap: wrap; }
  .product-surfaces { padding-top: 58px; }
  .product-bento { grid-template-columns: 1fr; }
  .product-surface-wide { grid-column: auto; display: flex; }
  .product-surface-wide .product-surface-copy { align-self: auto; padding: 24px 25px 19px; }
  .product-surface-wide .product-surface-media { margin: 0 16px 16px; }
  .product-surface-media img { min-height: 0; aspect-ratio: 880 / 510; }
}

@media (max-width: 480px) {
  .hero-product-first h1 { font-size: clamp(33px, 10vw, 43px); }
  .hero-product-first .hero-actions { margin-top: 26px; }
  .hero-product-first .hero-product-visual { min-height: 265px; }
  .hero-signal-plan { display: none; }
  .hero-signal-live { bottom: -5px; }
  .hero-channels { display: none; }
  .window-brand { display: none; }
  .product-window-bar { grid-template-columns: .6fr minmax(115px, 1.8fr) .2fr; }
  .story-topline h2 { font-size: 26px; }
  .story-chapters button b { font-size: 9.5px; }
  .story-play-button { padding-inline: 12px; font-size: 12px; }
  .story-skip { font-size: 12px; }
  .story-status { font-size: 10.5px; }
  .product-promise > div { gap: 7px; font-size: 11.5px; }
}

@media (hover: none) {
  .hero-play { opacity: .94; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-orbit { display: none; }
  .hero-signal,
  .product-screen,
  .story-screen,
  .story-product-window,
  .story-status,
  .story-chapters li { animation: none !important; transition-duration: .01ms !important; }
  .hero-product-window,
  .hero-product-window:hover { transform: none; }
  .hero-play { opacity: 1; }
}

/* The header language switcher, shared by the Hebrew and English shells.
   Styled like a quieter nav-login pill so it reads as a utility, not a CTA. */
.nav-lang {
  display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap;
  color: var(--muted); font-weight: 700; font-size: 13.5px; padding: 9px 13px; border-radius: 999px;
  border: 1.5px solid var(--line); transition: border-color .15s, color .15s, background .15s;
}
.nav-lang:hover { border-color: var(--blue); color: var(--blue); background: rgba(75, 31, 176, 0.06); }
