/* ==========================================================================
   ربيح — التخصيص باستخدام JavaScript
   الصق هذا الملف كاملاً في:  تصميم المتجر ← تخصيص متقدم ← تخصيص باستخدام JavaScript

   يعمل مع ملف rabih.css — لازم الاثنين مع بعض.
   ==========================================================================

   ملف واحد يحتوي كل الأقسام. كل قسم جديد يُضاف هنا، ثم تُستبدل محتويات
   اللوحة بالكامل — لا يوجد أكثر من ملف JS واحد.

   ── المحتويات ─────────────────────────────────────────────
   0. الإعدادات   ← عدّل من هنا فقط
   1. أدوات مساعدة
   2. الهيدر (النافبار)
   3. البانر الرئيسي (الهيرو)
   4. الحركة عند التمرير + ترويسة القسم
   5. الباقات (إنشاء المتاجر)
   6. شركاؤنا
   7. لماذا تختار ربيح
   8. الأسئلة الشائعة
   9. بيان النمو
   10. إدارة الإعلانات
   11. التشغيل
   ─────────────────────────────────────────────────────────
   ========================================================================== */

(function () {
  'use strict';

  var root = document.documentElement;

  /*
   * Hands the storefront back to Raed.
   *
   * `rbh-on` is added before anything is built, which is what removes the
   * flash of the old header — but it also means that if any line after it
   * throws, the store is left with its own chrome hidden and nothing in its
   * place. That happened once already, from pasting the un-built source file:
   * the store went blank rather than merely un-styled.
   *
   * So every entry point is guarded, and any error at all undoes the hiding.
   * The worst case is now the storefront exactly as Salla ships it.
   */
  function abort(reason) {
    root.classList.remove('rbh-on', 'rbh-home', 'rbh-armed');
    if (!window.console || !console.error) return;
    console.error('[rabih] ' + reason + ' — تم إرجاع تصميم المتجر الأصلي.');
    /* The one mistake this file invites, called out by name. */
    if (String(reason).indexOf('__') !== -1) {
      console.error(
        '[rabih] لُصق ملف المصدر بدل الملف الجاهز. ' +
          'الصق من: salla-inject/paste/rabih.js'
      );
    }
  }

  /** Wraps a callback so a throw inside it restores the store, not breaks it. */
  function guard(fn) {
    return function () {
      try {
        return fn.apply(this, arguments);
      } catch (error) {
        abort((error && error.message) || 'unknown error');
      }
    };
  }

  /* main() is hoisted, so the guard is in place before a line of it runs. */
  try {
    main();
  } catch (error) {
    abort((error && error.message) || 'unknown error');
  }

  function main() {

  /* ======================================================================
     0. الإعدادات — عدّل من هنا فقط
     ====================================================================== */

  /* ⚠️ رقم واتساب مؤقت — لازم يتغير قبل الإطلاق.
     International format, digits only, no + and no leading zero. */
  var WHATSAPP = '966500000000';
  var WHATSAPP_TEXT = 'السلام عليكم، أرغب في الاستفسار عن باقات منصة ربيح.';

  /*
   * Real product pages on the store, supplied by the client.
   *
   * He was explicit that a package button goes «الى المنتج مباشرة» — straight
   * to the product — not to WhatsApp. WhatsApp stays for the things that have
   * no product behind them: the header contact button and a custom quote.
   */
  var PRODUCTS = {
    consultation: 'https://rabeeh.cc/PDVwWKe',
    taseis: 'https://rabeeh.cc/RvVdxRy',
    numuw: 'https://rabeeh.cc/VDVOXxm',
    tatweer: 'https://rabeeh.cc/VDVOXVm'
  };

  /* The store's own logo, straight from Salla's CDN — nothing to host on our
     side, and it stays correct if the client swaps the logo in the dashboard's
     media library. */
  var LOGO =
    'https://cdn.salla.sa/cdn-cgi/image/fit=scale-down,width=400,height=400,onerror=redirect,format=auto/WlaOXw/stores/logos/nd6oPykUJK4S2ppX3N7HEMQMFzaQQqRNDdY2Ufos.png?quality=80&format=webp';

  var HERO = {
    eyebrow: 'شريك نجاحك على منصة سلة',
    title: 'منصة ربيح',
    tagline: 'حلول المتاجر تبدأ هنا',
    lede:
      'نصمّم متجرك، نطلقه، وندير إعلاناته — من الفكرة الأولى حتى أول عملية بيع. ' +
      'باقات متكاملة لإنشاء المتاجر، وإدارة الحملات الإعلانية، وتصاميم احترافية، ' +
      'وخدمات مساندة تواكب نموّك خطوة بخطوة.',
    ctaLabel: 'اطلب استشارة مجانية',
    ctaHref: PRODUCTS.consultation,
    altLabel: 'تصفّح الباقات',
    altHref: '#packages'
  };

  /* PLACEHOLDER figures — confirm all three with the client before launch. */
  var STATS = [
    { value: '+٥٠٠', label: 'متجر تم إطلاقه' },
    { value: '٢٤/٧', label: 'دعم فني' },
    { value: '٤.٩', label: 'تقييم العملاء' }
  ];

  /* Ticker copy: what Rabih actually sells, plus the store types it covers. */
  var TICKER = [
    'إنشاء المتاجر',
    'إدارة الإعلانات',
    'التصاميم الاحترافية',
    'خدمات مساندة',
    'متاجر العبايات',
    'العناية والتجميل',
    'المنتجات الرقمية',
    'الإلكترونيات',
    'أنظمة الحجوزات',
    'المواقع التعريفية',
    'العطور'
  ];

  /* The bar, exactly as the client specified it: four entries, with the four
     services folded into one «خدماتنا» menu. He wants it to read as an offer,
     not as a table of contents. */
  var NAV_TREE = [
    {
      label: 'خدماتنا',
      children: [
        { label: 'إنشاء متجر إلكتروني', href: '/#stores', icon: 'sicon-shopping-bag' },
        { label: 'إدارة حسابات التواصل الاجتماعي', href: '/#social', icon: 'sicon-share' },
        { label: 'إطلاق حملات إعلانية', href: '/#ads', icon: 'sicon-megaphone' },
        { label: 'التصميم والإبداع', href: '/#designs', icon: 'sicon-art-palette' }
      ]
    },
    { label: 'أعمالنا', href: '/#portfolio', icon: 'sicon-briefcase' },
    { label: 'شركاؤنا', href: '/#partners', icon: 'sicon-users' },
    { label: 'من نحن', href: '/#why', icon: 'sicon-info' }
  ];

  /* Every destination, flat. The drawer uses this rather than NAV_TREE, which
     is what keeps the rule the bar depends on true: fold a section out of the
     desktop bar and it still has a way in at phone width. */
  var NAV_ALL = [
    { label: 'إنشاء متجر إلكتروني', href: '/#stores', icon: 'sicon-shopping-bag' },
    { label: 'إدارة حسابات التواصل الاجتماعي', href: '/#social', icon: 'sicon-share' },
    { label: 'إطلاق حملات إعلانية', href: '/#ads', icon: 'sicon-megaphone' },
    { label: 'التصميم والإبداع', href: '/#designs', icon: 'sicon-art-palette' },
    { label: 'خدمات مساندة', href: '/#services', icon: 'sicon-headset' },
    { label: 'أعمالنا', href: '/#portfolio', icon: 'sicon-briefcase' },
    { label: 'شركاؤنا', href: '/#partners', icon: 'sicon-users' },
    { label: 'من نحن', href: '/#why', icon: 'sicon-info' },
    { label: 'آراء العملاء', href: '/#testimonials', icon: 'sicon-chat-bubbles' },
    { label: 'المدونة', href: '/#blog', icon: 'sicon-newspaper' }
  ];

  /* Every sicon- class above was checked against the live sallaicons stylesheet.
     The font renders nothing at all for a class it does not define, so a
     plausible-looking guess costs a blank square rather than an error. */

  /* ======================================================================
     1. أدوات مساعدة
     ====================================================================== */

  var WA_URL = 'https://wa.me/' + WHATSAPP + '?text=' + encodeURIComponent(WHATSAPP_TEXT);

  function esc(value) {
    return String(value).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;');
  }

  /*
   * Salla serves the storefront at /, /ar and /en, and anything deeper is a
   * product, category or account page where these sections do not belong.
   *
   * The URL is not the whole answer, though. The dashboard's own preview
   * renders the home page from a deeper path, and a URL-only check leaves that
   * preview showing Raed's masthead with no hero under it — which is exactly
   * what it did. The store tabs exist on the home page and nowhere else, so
   * they are the fallback signal. Fallback rather than primary because the URL
   * is readable before the document is, and the first call happens before the
   * body exists.
   */
  function isHome() {
    if (/^\/(ar|en)?\/?$/.test(window.location.pathname)) return true;
    return !!(document.body && document.querySelector('.hero-area .home-tabs'));
  }

  /* ----------------------------------------------------------------------
     Hide Raed's chrome — the first thing that runs.
     Before first paint, so there is no flash of the old markup. And because it
     is driven from JS rather than from CSS alone, a disabled JS panel or a
     script that throws leaves the storefront exactly as it is today rather
     than stripping its header and masthead with nothing to replace them.
     ---------------------------------------------------------------------- */
  root.classList.add('rbh-on');
  if (isHome()) root.classList.add('rbh-home');

  /* ======================================================================
     2. الهيدر (النافبار)
     ====================================================================== */

  function dropdownHtml(group) {
    var items = group.children
      .map(function (child) {
        return (
          '<li><a href="' +
          esc(child.href) +
          '"><i class="' +
          esc(child.icon) +
          '" aria-hidden="true"></i><span>' +
          esc(child.label) +
          '</span></a></li>'
        );
      })
      .join('');

    /* Opened by hover and by focus-within, both handled in CSS. The panel is
       always in the DOM and only its visibility changes, so a keyboard user can
       tab into the trigger and straight on into the links. */
    return (
      '<div class="rbh-has-menu">' +
      '<button type="button" class="rbh-link" aria-haspopup="true" aria-expanded="false">' +
      esc(group.label) +
      '<i class="sicon-caret-down rbh-caret" aria-hidden="true"></i>' +
      '</button>' +
      '<div class="rbh-menu"><ul>' +
      items +
      '</ul></div>' +
      '</div>'
    );
  }

  function buildHeader() {
    var nav = NAV_TREE.map(function (node) {
      var inner = node.children
        ? dropdownHtml(node)
        : '<a href="' + esc(node.href) + '" class="rbh-link">' + esc(node.label) + '</a>';
      return '<li>' + inner + '</li>';
    }).join('');

    var header = document.createElement('header');
    header.className = 'rbh-header';
    header.innerHTML =
      '<div class="rbh-bar">' +
      '<div class="rbh-cluster">' +
      '<button type="button" class="rbh-burger" aria-label="فتح القائمة" aria-haspopup="dialog">' +
      '<i class="sicon-menu" aria-hidden="true"></i><span>القائمة</span>' +
      '</button>' +
      '<a href="/" class="rbh-logo" aria-label="الصفحة الرئيسية">' +
      '<img src="' +
      esc(LOGO) +
      '" alt="ربيح" fetchpriority="high" decoding="async">' +
      '</a>' +
      '<a href="' +
      esc(WA_URL) +
      '" class="rbh-cta" target="_blank" rel="noopener noreferrer">تواصل معنا</a>' +
      '</div>' +
      '<nav class="rbh-nav" aria-label="أقسام الموقع"><ul>' +
      nav +
      '</ul></nav>' +
      '<div class="rbh-cluster rbh-cluster--end">' +
      '<a href="/search" class="rbh-icon" aria-label="بحث" title="بحث"><i class="sicon-search" aria-hidden="true"></i></a>' +
      '<a href="/account/profile" class="rbh-icon" aria-label="حسابي" title="حسابي"><i class="sicon-user" aria-hidden="true"></i></a>' +
      '<a href="/cart" class="rbh-icon" aria-label="السلة" title="السلة"><i class="sicon-shopping-bag" aria-hidden="true"></i></a>' +
      '</div>' +
      '</div>';

    return header;
  }

  function buildDrawer() {
    var items = NAV_ALL.map(function (item, index) {
      return (
        '<li><a href="' +
        esc(item.href) +
        '" style="--i:' +
        index +
        '"><i class="' +
        esc(item.icon) +
        '" aria-hidden="true"></i><span>' +
        esc(item.label) +
        '</span><i class="sicon-caret-left rbh-chev" aria-hidden="true"></i></a></li>'
      );
    }).join('');

    var drawer = document.createElement('div');
    drawer.className = 'rbh-drawer';
    drawer.setAttribute('role', 'dialog');
    drawer.setAttribute('aria-modal', 'true');
    drawer.setAttribute('aria-label', 'قائمة الأقسام');
    drawer.innerHTML =
      '<div class="rbh-scrim" data-rbh-close></div>' +
      '<aside class="rbh-panel">' +
      '<div class="rbh-panel-head">' +
      '<img src="' +
      esc(LOGO) +
      '" alt="ربيح" style="height:38px;width:auto;max-width:140px;object-fit:contain">' +
      '<button type="button" class="rbh-icon" aria-label="إغلاق القائمة" data-rbh-close>' +
      '<i class="sicon-cancel" aria-hidden="true"></i></button>' +
      '</div>' +
      '<nav aria-label="أقسام الموقع"><ul>' +
      items +
      '</ul></nav>' +
      '<div class="rbh-panel-foot">' +
      '<a href="' +
      esc(PRODUCTS.consultation) +
      '">اطلب استشارة مجانية</a>' +
      '</div>' +
      '</aside>';

    return drawer;
  }

  function wireDrawer(header, drawer) {
    var burger = header.querySelector('.rbh-burger');

    function open() {
      drawer.classList.add('is-open');
      root.classList.add('rbh-locked');
      var first = drawer.querySelector('.rbh-panel a');
      if (first) first.focus();
    }

    function close() {
      drawer.classList.remove('is-open');
      root.classList.remove('rbh-locked');
      if (burger) burger.focus();
    }

    if (burger) burger.addEventListener('click', open);

    /* Delegated: the scrim, the ✕, and every link close the drawer. Links are
       included because these are same-page anchors — without this the panel
       would stay open over the section it just scrolled to. */
    drawer.addEventListener('click', function (event) {
      if (event.target.closest('[data-rbh-close]') || event.target.closest('a')) close();
    });

    document.addEventListener('keydown', function (event) {
      if (event.key === 'Escape' && drawer.classList.contains('is-open')) close();
    });
  }

  /* Keeps `aria-expanded` honest. The panel itself is opened by CSS; this only
     tells assistive tech what sighted users can already see. */
  function wireDropdowns(header) {
    Array.prototype.forEach.call(header.querySelectorAll('.rbh-has-menu'), function (host) {
      var trigger = host.querySelector('button');
      if (!trigger) return;

      function sync(isOpen) {
        trigger.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
      }

      host.addEventListener('mouseenter', function () {
        sync(true);
      });
      host.addEventListener('mouseleave', function () {
        sync(false);
      });
      host.addEventListener('focusin', function () {
        sync(true);
      });
      host.addEventListener('focusout', function () {
        if (!host.contains(document.activeElement)) sync(false);
      });
    });
  }

  /* ======================================================================
     3. البانر الرئيسي (الهيرو)
     ====================================================================== */

  function tickerHtml() {
    var run = TICKER.map(function (label) {
      return '<li><span>' + esc(label) + '</span><i aria-hidden="true">✦</i></li>';
    }).join('');

    /* Forced to LTR so the two copies always sit in a predictable order and
       always travel leftwards; each Arabic label is its own bidi run and still
       renders correctly inside it.

       The list is printed twice, and the second copy is hidden from assistive
       tech — it exists only so the loop can wrap without a visible seam. */
    return (
      '<div class="rbh-hero__ticker"><div class="rbh-marquee" dir="ltr">' +
      '<div class="rbh-marquee__inner">' +
      '<ul>' +
      run +
      '</ul>' +
      '<ul aria-hidden="true">' +
      run +
      '</ul>' +
      '</div></div></div>'
    );
  }

  function buildHero() {
    var stats = STATS.map(function (stat) {
      return (
        '<div><dt class="rbh-sr">' +
        esc(stat.label) +
        '</dt><dd>' +
        esc(stat.value) +
        '</dd><p>' +
        esc(stat.label) +
        '</p></div>'
      );
    }).join('');

    var hero = document.createElement('section');
    hero.className = 'rbh-hero';
    hero.setAttribute('aria-labelledby', 'rbh-hero-title');
    hero.innerHTML =
      '<div class="rbh-hero__art" aria-hidden="true"></div>' +
      '<div class="rbh-hero__scrim" aria-hidden="true"></div>' +
      '<div class="rbh-container">' +
      '<div class="rbh-hero__copy">' +
      '<p class="rbh-hero__eyebrow"><span aria-hidden="true">✦</span>' +
      esc(HERO.eyebrow) +
      '</p>' +
      '<h1 id="rbh-hero-title">' +
      esc(HERO.title) +
      '</h1>' +
      '<p class="rbh-hero__tagline"><span>' +
      esc(HERO.tagline) +
      '</span></p>' +
      '<p class="rbh-hero__lede">' +
      esc(HERO.lede) +
      '</p>' +
      '<div class="rbh-hero__actions">' +
      '<a href="' +
      esc(HERO.ctaHref) +
      '" class="rbh-btn rbh-btn--solid">' +
      esc(HERO.ctaLabel) +
      '</a>' +
      '<a href="' +
      esc(HERO.altHref) +
      '" class="rbh-btn rbh-btn--ghost">' +
      esc(HERO.altLabel) +
      '</a>' +
      '</div>' +
      '<dl class="rbh-hero__stats">' +
      stats +
      '</dl>' +
      '</div>' +
      '</div>' +
      tickerHtml();

    return hero;
  }

  /* ======================================================================
     4. الحركة عند التمرير + ترويسة القسم
     ====================================================================== */

  /*
   * Arms the scroll reveals.
   *
   * Nothing is hidden until this runs, so a browser without IntersectionObserver
   * — or a visitor who asked for reduced motion — simply gets the page with no
   * entrance animation, never a page of invisible sections.
   *
   * Anything already on screen is marked `is-in` in the same frame the armed
   * class is added, so it is never hidden for even one paint. Hiding and then
   * re-showing what the visitor is already looking at is a flash, not an
   * animation.
   */
  function armReveals(scope) {
    var nodes = scope.querySelectorAll('.rbh-reveal');
    if (!nodes.length) return;

    var reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
    if (reduced || !('IntersectionObserver' in window)) return;

    root.classList.add('rbh-armed');

    var io = new IntersectionObserver(
      function (entries) {
        entries.forEach(function (entry) {
          if (!entry.isIntersecting) return;
          entry.target.classList.add('is-in');
          io.unobserve(entry.target);
        });
      },
      { rootMargin: '0px 0px -10% 0px' }
    );

    Array.prototype.forEach.call(nodes, function (node) {
      var rect = node.getBoundingClientRect();
      if (rect.top < window.innerHeight * 0.9 && rect.bottom > 0) {
        node.classList.add('is-in');
        return;
      }
      io.observe(node);
    });

    /*
     * Bottom-of-page catch.
     *
     * The -10% bottom margin holds a reveal back until it is properly on
     * screen, but it also means an element resting in that last tenth can never
     * intersect — and the final item on the page is exactly there once the
     * visitor has scrolled as far as the document goes. Measured: one of the
     * twenty-eight reveals stayed invisible after a full scroll to the bottom.
     * This releases anything still waiting at that point.
     */
    window.addEventListener(
      'scroll',
      function () {
        var atBottom =
          window.innerHeight + window.scrollY >= document.documentElement.scrollHeight - 4;
        if (!atBottom) return;
        Array.prototype.forEach.call(nodes, function (node) {
          node.classList.add('is-in');
        });
        io.disconnect();
      },
      { passive: true }
    );
  }

  /** Wraps markup in a reveal, with an optional stagger offset in ms. */
  function reveal(html, delay) {
    return (
      '<div class="rbh-reveal"' + (delay ? ' style="--d:' + delay + '"' : '') + '>' + html + '</div>'
    );
  }

  function headingHtml(options) {
    var eyebrow = options.eyebrow
      ? '<p class="rbh-head__eyebrow"><span class="rbh-loz"></span>' +
        esc(options.eyebrow) +
        '<span class="rbh-loz"></span></p>'
      : '';

    var lede = options.lede ? '<p class="rbh-head__lede">' + esc(options.lede) + '</p>' : '';

    return reveal(
      '<div class="rbh-head">' +
        eyebrow +
        '<div class="rbh-head__line">' +
        '<span class="rbh-rule" aria-hidden="true"><span class="rbh-rule__line"></span><span class="rbh-loz"></span></span>' +
        '<h2' +
        (options.id ? ' id="' + esc(options.id) + '"' : '') +
        '>' +
        esc(options.title) +
        '</h2>' +
        '<span class="rbh-rule rbh-rule--flip" aria-hidden="true"><span class="rbh-loz"></span><span class="rbh-rule__line"></span></span>' +
        '</div>' +
        lede +
        '</div>'
    );
  }

  /* ======================================================================
     5. الباقات — إنشاء المتاجر
     ====================================================================== */

  /*
   * Metal surfaces.
   *
   * A metal never reads as a two-stop gradient — what the eye recognises is the
   * alternating dark/light banding of a polished surface catching light at
   * several angles. Each ramp runs dark → bright → mid → dark → bright so the
   * card looks struck rather than merely tinted.
   *
   * Two families, deliberately kept apart:
   *   • bronze / silver / gold — the warm classical ladder, for one-off builds.
   *   • graphite / sapphire    — cool and industrial, for monthly retainers.
   * Same treatment, different alloy, so a visitor scrolling past can tell which
   * pricing block they are looking at without reading a word.
   */
  var METAL_SKINS = {
    bronze: {
      surface:
        'linear-gradient(135deg,#6b3d16 0%,#a8672f 17%,#e2a868 36%,#bd7c3d 51%,#8b5021 70%,#d99f60 87%,#79431a 100%)',
      facet:
        'linear-gradient(135deg,rgba(255,226,193,.55) 0%,rgba(255,205,150,.12) 60%,transparent 100%)',
      ink: '#6b3d16',
      ring: 'rgba(200,128,60,.55)',
      shadow: '0 18px 40px -14px rgba(107,61,22,.45), 0 6px 14px -8px rgba(107,61,22,.35)',
      shadowHover: '0 34px 70px -18px rgba(107,61,22,.55), 0 10px 22px -10px rgba(107,61,22,.4)'
    },
    silver: {
      surface:
        'linear-gradient(135deg,#5d646d 0%,#8f98a2 17%,#e2e7ec 36%,#aeb6bf 51%,#727a84 70%,#ced4db 87%,#646c75 100%)',
      facet:
        'linear-gradient(135deg,rgba(255,255,255,.65) 0%,rgba(235,240,245,.15) 60%,transparent 100%)',
      ink: '#4a5158',
      ring: 'rgba(150,160,172,.6)',
      shadow: '0 18px 40px -14px rgba(74,81,88,.42), 0 6px 14px -8px rgba(74,81,88,.32)',
      shadowHover: '0 34px 70px -18px rgba(74,81,88,.5), 0 10px 22px -10px rgba(74,81,88,.38)'
    },
    gold: {
      surface:
        'linear-gradient(135deg,#8a6410 0%,#c69a24 17%,#f6dc80 36%,#d9ae32 51%,#a67c14 70%,#f0d26e 87%,#916911 100%)',
      facet:
        'linear-gradient(135deg,rgba(255,244,199,.62) 0%,rgba(255,229,148,.14) 60%,transparent 100%)',
      ink: '#7d5a0c',
      ring: 'rgba(214,168,40,.7)',
      shadow: '0 20px 44px -14px rgba(125,90,12,.5), 0 6px 16px -8px rgba(125,90,12,.38)',
      shadowHover: '0 38px 78px -18px rgba(125,90,12,.6), 0 12px 24px -10px rgba(125,90,12,.45)'
    },

    /* Polished gunmetal. Its bright stops stay well under the warm metals' so
       it never competes with them for attention on the same scroll. */
    graphite: {
      surface:
        'linear-gradient(135deg,#14181b 0%,#2f363b 17%,#5f6a72 36%,#3c4449 51%,#22282c 70%,#525d66 87%,#181c1f 100%)',
      facet:
        'linear-gradient(135deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.07) 60%,transparent 100%)',
      ink: '#23282c',
      ring: 'rgba(124,136,146,.55)',
      shadow: '0 18px 40px -14px rgba(20,24,27,.5), 0 6px 14px -8px rgba(20,24,27,.38)',
      shadowHover: '0 34px 70px -18px rgba(20,24,27,.6), 0 10px 22px -10px rgba(20,24,27,.45)'
    },

    /* Anodised blue. Chosen over emerald for the featured retainer because the
       action pill is brand red, and red on green fights; red on deep blue does
       not. */
    sapphire: {
      surface:
        'linear-gradient(135deg,#0a2247 0%,#154a8c 17%,#5b9fe0 36%,#2668b4 51%,#123c72 70%,#4a8ed3 87%,#0c2951 100%)',
      facet:
        'linear-gradient(135deg,rgba(206,232,255,.58) 0%,rgba(150,196,240,.14) 60%,transparent 100%)',
      ink: '#0d2f5e',
      ring: 'rgba(74,142,211,.65)',
      shadow: '0 20px 44px -14px rgba(10,34,71,.5), 0 6px 16px -8px rgba(10,34,71,.38)',
      shadowHover: '0 38px 78px -18px rgba(10,34,71,.6), 0 12px 24px -10px rgba(10,34,71,.45)'
    }
  };

  var CURRENCY = 'ر.س';

  /* ⚠️ PLACEHOLDER CONTENT — the client has not sent prices or per-tier feature
     lists yet. Every figure below is invented so the layout could be built and
     reviewed. Replace price, compareAt and features verbatim from his list
     before this goes anywhere near a customer. */
  var STORE_PACKAGES = [
    {
      id: 'package-a',
      metal: 'bronze',
      name: 'باقة التأسيس',
      href: PRODUCTS.taseis,
      pitch: 'انطلاقة سريعة لمتجرك الأول بأساسيات متكاملة.',
      price: 1499,
      compareAt: 2200,
      features: [
        'تصميم متجر كامل على منصة سلة',
        'إعداد الأقسام والمنتجات (حتى ٣٠ منتج)',
        'ربط بوابات الدفع والشحن',
        'تهيئة أساسية لمحركات البحث',
        'دعم فني لمدة شهر'
      ],
      ctaLabel: 'اطلب باقة التأسيس'
    },
    {
      id: 'package-b',
      metal: 'silver',
      name: 'باقة النمو',
      href: PRODUCTS.numuw,
      pitch: 'متجر احترافي بهوية بصرية وتجربة شراء مصممة للتحويل.',
      price: 2999,
      compareAt: 4500,
      features: [
        'كل ما في باقة التأسيس',
        'هوية بصرية وبنرات احترافية',
        'إعداد الأقسام والمنتجات (حتى ١٠٠ منتج)',
        'صفحات هبوط مخصصة للعروض',
        'ربط أدوات التحليل وقياس التحويلات',
        'دعم فني لمدة ٣ أشهر'
      ],
      ctaLabel: 'اطلب باقة النمو'
    },
    {
      id: 'package-c',
      metal: 'gold',
      name: 'باقة التطوير',
      href: PRODUCTS.tatweer,
      pitch: 'حل متكامل: متجر، محتوى، وإعلانات تُدار بالكامل من فريقنا.',
      price: 5999,
      compareAt: 9000,
      features: [
        'كل ما في باقة النمو',
        'عدد غير محدود من المنتجات',
        'تصوير وإنتاج محتوى للمنتجات',
        'إدارة حملات إعلانية لمدة شهر',
        'تحسين متقدم لمحركات البحث',
        'مدير حساب مخصص',
        'دعم فني لمدة ٦ أشهر'
      ],
      ctaLabel: 'اطلب باقة التطوير',
      featured: true,
      badge: 'الأكثر طلبًا'
    }
  ];

  /* Latin digits with thousands separators, matching the reference design —
     the price is the one number on the page a buyer compares at a glance, and
     Arabic-Indic digits slow that down for a mixed-numeral audience. */
  function money(value) {
    return String(value).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
  }

  function cardHtml(plan) {
    var skin = METAL_SKINS[plan.metal];

    var badge = plan.badge
      ? '<span class="rbh-card__badge" style="background:' +
        skin.ink +
        '"><span aria-hidden="true">★</span>' +
        esc(plan.badge) +
        '</span>'
      : '';

    var ring = plan.featured
      ? '<div class="rbh-card__ring" aria-hidden="true" style="box-shadow:inset 0 0 0 2px ' +
        skin.ring +
        ', 0 24px 60px -20px ' +
        skin.ring +
        '"></div>'
      : '';

    var features = plan.features
      .map(function (feature) {
        return (
          '<li><span class="rbh-card__dot" aria-hidden="true"></span><span>' +
          esc(feature) +
          '</span></li>'
        );
      })
      .join('');

    var price =
      '<p class="rbh-card__price">' +
      '<span class="rbh-card__amount">' +
      money(plan.price) +
      '</span>' +
      '<span class="rbh-card__cur">' +
      CURRENCY +
      '</span>' +
      (plan.compareAt ? '<span class="rbh-card__was">' + money(plan.compareAt) + '</span>' : '') +
      (plan.period ? '<span class="rbh-card__per">/ ' + esc(plan.period) + '</span>' : '') +
      '</p>';

    return (
      '<article class="rbh-card" style="background:' +
      skin.surface +
      ';--card-shadow:' +
      skin.shadow +
      ';--card-shadow-hover:' +
      skin.shadowHover +
      '">' +
      '<div class="rbh-card__facet" aria-hidden="true" style="background:' +
      skin.facet +
      '"></div>' +
      '<div class="rbh-card__sheen" aria-hidden="true"></div>' +
      '<div class="rbh-card__sweep" aria-hidden="true"><span></span></div>' +
      ring +
      '<div class="rbh-card__plate">' +
      badge +
      '<h3 style="color:' +
      skin.ink +
      '">' +
      esc(plan.name) +
      '</h3>' +
      '<p class="rbh-card__pitch">' +
      esc(plan.pitch) +
      '</p>' +
      '</div>' +
      price +
      '<ul class="rbh-card__features">' +
      features +
      '</ul>' +
      '<div class="rbh-card__foot">' +
      '<a class="rbh-card__cta" href="' +
      esc(plan.href || WA_URL) +
      '" ' +
      (plan.href ? '' : 'target="_blank" rel="noopener noreferrer"') +
      '>' +
      esc(plan.ctaLabel) +
      '<span class="rbh-card__arrow" aria-hidden="true">←</span></a>' +
      '</div>' +
      '</article>'
    );
  }

  var STAGGER_MS = 110;

  function buildPackages() {
    var cards = STORE_PACKAGES.map(function (plan, index) {
      return reveal(cardHtml(plan), index * STAGGER_MS);
    }).join('');

    var section = document.createElement('section');
    section.className = 'rbh-packages';
    section.id = 'packages';
    section.setAttribute('aria-labelledby', 'rbh-packages-heading');
    section.innerHTML =
      '<div class="rbh-packages__bg" aria-hidden="true">' +
      '<div class="rbh-packages__wash"></div>' +
      '<div class="rbh-packages__grid"></div>' +
      '</div>' +
      '<div class="rbh-container">' +
      headingHtml({
        id: 'rbh-packages-heading',
        eyebrow: 'إنشاء المتاجر',
        title: 'اختر الباقة المناسبة لك',
        lede:
          'ثلاث باقات تغطي كل مرحلة — من إطلاق متجرك الأول حتى إدارة متجر ينمو ' +
          'بحملات إعلانية ومحتوى احترافي.'
      }) +
      '<div class="rbh-cards">' +
      cards +
      '</div>' +
      '<p class="rbh-packages__note">كل الباقات تشمل ضريبة القيمة المضافة · تحتاج شيئًا مختلفًا؟ ' +
      '<a href="' +
      esc(WA_URL) +
      '" target="_blank" rel="noopener noreferrer">اطلب باقة مخصصة</a></p>' +
      '</div>';

    /* Cursor-tracked sheen, delegated from the section rather than bound per
       card: one listener instead of three, and it keeps working if the cards
       are ever rebuilt. The coordinates are written straight to CSS custom
       properties — putting pointer positions into any kind of state would
       recompute the whole section on every mouse move for a purely visual
       effect. */
    section.addEventListener('pointermove', function (event) {
      var card = event.target.closest('.rbh-card');
      if (!card) return;
      var bounds = card.getBoundingClientRect();
      card.style.setProperty('--spot-x', event.clientX - bounds.left + 'px');
      card.style.setProperty('--spot-y', event.clientY - bounds.top + 'px');
    });

    return section;
  }

  /* ======================================================================
     6. شركاؤنا
     ====================================================================== */

  /*
   * The platforms Rabih builds on.
   *
   * Every mark is flattened to a single ink. That trades away the recognition
   * each brand's own colour buys — the standard argument against it — but seven
   * palettes in one row read as seven separate objects instead of one row of
   * credentials. The client asked for it and he is right: the row is now a
   * texture the eye crosses in a single pass.
   *
   * `level` is a claim about a real commercial relationship, so it is data
   * rather than decoration. Salla, Zid, Shopify and WooCommerce carry the levels
   * the client supplied. ⚠️ رمز and توسع are marked شريك on assumption — he
   * named them without a level. Confirm before launch.
   *
   * The artwork is injected at build time into PARTNER_ART, keyed by id.
   */
  var PARTNER_ART = {"salla":"data:image/webp;base64,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","zid":"data:image/webp;base64,UklGRv4IAABXRUJQVlA4WAoAAAAQAAAA6wAAbwAAQUxQSHEIAAAB8AUAkCK31bbVrFZeMDMzsxWZmZmZQbZyLDMzMzMzY1iQyCuFOQonxnBiZjFt14V2q3tG1WdvI2IC4P/sQuNOf/fEm3bvo21dgyDALX0oDYn3ZjoCGfuqZJT8q1/gUiAS5cUmW4BS6iYqPW8EJM7PUfHqgOQkqhYDA5DmQhn+5wo8PkUT5wUcXdDMR8GBxllK5r7G7uL9P6dgzwDDeERI7QA5bXspOwOMqkicDL5tnxE+CzC6Ex7b/UBfwsMAYyThHfBfmJAZYIwjnCPYCMIWWAwhvEbIR0gBTQe1XX54/9IWNnZ6EjyEMoRHejJG/YU+7wzlphXhBqEZ4Y6WnOeReNzBS1lCis3fMEK8jmxvIvmywYqR5g9r+dtEOKajBSgZzgr8Qhjlz0NYoqHiL2Xuu1k5RTjhx5lC6KKhGSg9iJUphHs2X13RvyisoXfljrASQsD2vk4QroOGb8i9x4pxl3DcR95Ewo5c8trv5N8SEt47u3PxsJC8Vvlb7mNW4DAhrVSO6Uhsn0s+R8W/n55Y3QpfyV3mpScB1wCA/XfCUzsvOX9YWMG0PXLzeLHfJSSVApiCxN3AD6L3Sm2T2kt5q/IC6wh4GAo9pNRjCdF7tKAp8L7MKWC2cjbB2+4YEj8BphD/7WpK7Ze0f0txA2cJ+EBQevKF2ZPNgG5JlIeNgN3q2QRygsEY4hIzoNH3/j6oAAyfUdMNWMOJZoBt2OsP0fvfmW7AcqkXKt4A5tKampEzjx3Ynq0gpRJ3+GuwSZzbv5CbDuzhQm1BhWcyMYYGkopoC0ZLPCoGGsDFivIVlizAkcsjIaZp4W4eNZEomWC54MqhoTUr5TXF5UFZEWFOsSr1QxuUyH3Ym5/G23/IQp9PEi7Nae1S4/KgvIhQVKzn6rd/TUWfzyJfLaQmf2Fq2aqhrYcuuvKfohPcNP0AZdPfjSgr5/KgShGhIGRFgkDJxBX5VCg1Gh9IVfHEzkreswJVemP622kuD6oVERJFZvyMSu/3sQYAlItSgI05Kf89Kv9nqoPg8qBqEUEptzcNVXsXGRYBY7uCaYyUv4tm/jvJ5svlQfUiwk/Rvelo5i6rgHFB7iwfrm/R5C9DcrjikCymxZJQROSwhT9Bk8OtAoUfSV3n4zianr3ODq44JItwcMaSUEQAVPgETc9sbBWYL5UexEUDr3mIX9X1IFlMAQBHJAnFtP5P0YIfW6ZIhgxW5CIaLSmQLMIhpzOWhAKt2ccq4JHqyEQdJGdeT7hzXw1dhINvZyxJccZfvybcpcVbZrnUWCbWUNIWFwYAcNYZueu6GSIc/DtjzUi/tqRbWQMAoH4kJauwVYZIzWbiU0J6O6BWWnJDlQgHqjNWVXbksLxANA4QcLRV6kmt5cFIIqwESaPnx0pEONCdsUrS9lYByeBbhL1WcWTLHOChJPr3lpQBgN435EQ4yDpj5cT5iiA/jxBjFXgqc5aH6oR/QWXwwgwJMQXkHZEyd/uAyk6Ezyzzn8wlbu4qcW3KlpmuwB0n82CQks654JbMGzwUJ4gycsbQP1BaTJFyx6P8mzUULCREW+Z7mSge4KU/XC8TNORrVCmmSLjjUWXm8Toyjt8Jey3zmcw1Jj4gZHYl1V77NyoWU0jueFQs3h9fiGI7jsQJlvmUpyUEzFxbMkfhV8KP/okmiikEdzyamPXZ+oHVHABgNItHoqiot8qCgOj9+9afyWi6mOLHHY/mP/r95lMkfw56gwskE7NJKKb4cMcjWQg18v11VzndCu9XfoeEYjoAuOOQLCZ3vm+FrwzdwSbzMhbZwBFDQjEF3PFI9oYBlPaYl9UStGePNSuuJgCAI4aEYk48kr1hAADGmAdmzQQLf8YVFP7VlBtDwbcjhiTrDQPfhXekmnIMrHyLLSh8Td3PI2zg3xGtzBsGxNI7U5SJNYalkvgC++ZMJWln2wLdEa3IGwb0glN/VPNwCFi6GTIGUO2ykHl6blhBkHZEK/GGgXyDpV8LmeQ1+cHSITd4A6gw1ZPkI/vP9w+F1bWBUke0Am8YqC3Udfnr3z3zde/1iYXAf5THgt/dQ3l2cpapVbdK4WAw0xEt5Q0DU/OVqhJSpSDQUzF3vsORFfO8LSEmg+Vzy1E9wQSJJyV1sV5P1V5K4Hs2TYRrKc93KD1XE1VUxMp8wdBilE+trIWboPILmWv8VEhWgG9rYbWS+zJv8PMaKu2ugReFVZQQMsfZaSTUJBj8LQeVY1B2CTtvIvGuIGAP9j7Po+SC1BBu6giCt+UBykfc3SsDKvM/l2rIzU4k7oX8dwlYm7e/a4PSZSj7MogZx2PC82IAkyjbWXunOCgt8FTqXWB2MBKXA0DQLcLjIL6+6ASKj6D0Ym7OEVKKAgD8j4BteMr6cmVTUD0S5WszY39KOAw5XS8IW60UEmrZCnZQ3zRF7kdgtgUSW/uAo4SfrcRix5cov5ib2YT/DF+dCN6COglakIXyqcW5uUw4Cr7zJPnDzhrpkoAqDwO3twkj/EAsYaEuas/5AZVm1eAmKINQ3d96whEdVPEkvETV+4HbCug/2eZvKCFOB6Go/mVJdtoQroP/poQ7eosAdnsRrhFKEx5pLdbgZyjhNUI+QorOHpUGfscRzhFsBGHTV2Z7YHgkIYpQlJAJ+poEHHcnPA32N4BwX1tiFrBcjYAz/di/JnyoKzEdeLY9JqT38GE/hsSVmkoeAlxfJGD28TYlyo/8Dqkhevo7FNjuRVH4O+hInCkCfBvfmDFeR9fbA+vtTPgpSD9/vWoH5i8ry2wDmsmO7G8H9l1fq5oMWnl6ZVJp0GL5P9VsAU1WuXx469welW2gzaJxCrKmQ8AavDZF5ruWEMiWOZhKuT7KBgFugRGHPr/7/NntmAU1ITcCAFZQOCBmAAAAsAgAnQEq7ABwAD4ZDIVCIQQJAAQAYS0t3C7AI9uAAAT2vRVwgyCGqpNdtouEGQQ1VJrttFwgyCGqpNdtouEGQQ1VJrttFwgyCGqpNdpgAP7/6zwP/8kj1cx0H/8Qu9jCgAAAAAAA","rmz":"data:image/webp;base64,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","twsaa":"data:image/webp;base64,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","shopify":"data:image/webp;base64,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","woocommerce":"data:image/webp;base64,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","custom":"data:image/webp;base64,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"};

  var PARTNERS = [
    { id: 'salla', name: 'سلة', level: 'شريك', href: 'https://salla.sa' },
    { id: 'zid', name: 'زد', level: 'شريك', href: 'https://zid.sa' },
    { id: 'rmz', name: 'رمز', level: 'شريك', href: 'https://rmz.gg' },
    { id: 'twsaa', name: 'توسع', level: 'شريك', href: 'https://twsaa.com' },
    { id: 'shopify', name: 'Shopify', level: 'خبير', href: 'https://www.shopify.com' },
    { id: 'woocommerce', name: 'WooCommerce', level: 'خبير', href: 'https://woocommerce.com' },
    /* Last on purpose: the six above are platforms we plug into, this one is the
       answer for a merchant who wants none of them. No href — there is no vendor
       page to send anyone to. */
    { id: 'custom', name: 'منصة خاصة', level: 'سيرفر مستقل' }
  ];

  function buildPartners() {
    var tiles = PARTNERS.map(function (partner, index) {
      /* منصة خاصة has no vendor site, so it is not a link. An anchor with no
         destination would put a keyboard stop on something that goes nowhere. */
      var tag = partner.href ? 'a' : 'div';
      var attrs = partner.href
        ? ' href="' + esc(partner.href) + '" target="_blank" rel="noopener noreferrer"'
        : '';

      var tile =
        '<' +
        tag +
        attrs +
        ' class="rbh-partner">' +
        '<span class="rbh-partner__mark"><img src="' +
        esc(PARTNER_ART[partner.id] || '') +
        '" alt="" loading="lazy" decoding="async"></span>' +
        '<span><span class="rbh-partner__name">' +
        esc(partner.name) +
        '</span><span class="rbh-partner__level">' +
        esc(partner.level) +
        '</span></span>' +
        '</' +
        tag +
        '>';

      return '<li>' + reveal(tile, index * 70) + '</li>';
    }).join('');

    var section = document.createElement('section');
    section.className = 'rbh-partners';
    section.id = 'partners';
    section.setAttribute('aria-labelledby', 'rbh-partners-heading');
    section.innerHTML =
      '<div class="rbh-partners__bg" aria-hidden="true"></div>' +
      '<div class="rbh-container">' +
      headingHtml({
        id: 'rbh-partners-heading',
        eyebrow: 'شركاؤنا',
        title: 'نبني على المنصات التي تثق بها',
        lede: 'شراكات واعتمادات حقيقية — نعرف كل منصة من الداخل، لا من صفحة تعريفها.'
      }) +
      '<ul class="rbh-partners__grid">' +
      tiles +
      '</ul>' +
      '</div>';

    return section;
  }

  /* ======================================================================
     7. لماذا تختار ربيح
     ====================================================================== */

  /*
   * Written as answers to the objections a merchant actually has before paying
   * an agency: will it be slow, will I be ignored afterwards, do they
   * understand my market, and who owns what I paid for.
   *
   * `glyph` is the path data for a 24×24 stroked icon — drawn rather than
   * pulled from the icon font, because sallaicons has no mark for most of
   * these ideas and a near-miss icon is worse than a precise one.
   */
  var REASONS = [
    {
      title: 'تسليم في موعده',
      body: 'جدول واضح من اليوم الأول، وتحديث أسبوعي يوضح أين وصلنا — بلا وعود مفتوحة.',
      glyph: 'M13 2 4.5 13.5H11l-1 8.5L19.5 10H13z'
    },
    {
      title: 'نفهم السوق السعودي',
      body: 'نصمّم لتجربة الشراء المحلية: طرق الدفع، مواسم الذروة، ولغة تخاطب عميلك فعلًا.',
      glyph:
        'M12 21s7-5.5 7-11a7 7 0 1 0-14 0c0 5.5 7 11 7 11z M12 10.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z'
    },
    {
      title: 'لا نختفي بعد التسليم',
      body: 'دعم فني مستمر ضمن كل باقة، ومتابعة للأداء بعد الإطلاق لا قبله فقط.',
      glyph:
        'M4 12a8 8 0 0 1 16 0v5a3 3 0 0 1-3 3h-2 M4 12v4a2 2 0 0 0 2 2h1v-6H6a2 2 0 0 0-2 2z M20 12v4a2 2 0 0 1-2 2h-1v-6h1a2 2 0 0 1 2 2z'
    },
    {
      title: 'المتجر ملكك بالكامل',
      body: 'كل الحسابات والملفات باسمك من البداية — لا رهائن تقنية ولا اشتراكات مخفية.',
      glyph: 'M7 11V8a5 5 0 0 1 10 0v3 M5 11h14v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z'
    },
    {
      title: 'قرارات بالأرقام',
      body: 'نربط التحليلات ونقيس كل حملة، فتعرف تمامًا ما الذي جلب لك مبيعات وما الذي لم يجلب.',
      glyph: 'M4 20V10 M10 20V4 M16 20v-7 M22 20H2'
    },
    {
      title: 'فريق لا فردًا',
      body: 'مصمم ومطوّر ومسوّق يعملون على متجرك — بدل شخص واحد يجيد كل شيء بنصف إتقان.',
      glyph:
        'M9 11a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z M2.5 20a6.5 6.5 0 0 1 13 0 M16 7.5a3 3 0 1 0 0-6 M17 20h4.5a5.5 5.5 0 0 0-4-5.3'
    }
  ];

  /** Arabic-Indic ordinals, matching the numerals used everywhere else. */
  function arabicNumber(value) {
    return String(value).replace(/\d/g, function (digit) {
      return String.fromCharCode(0x0660 + Number(digit));
    });
  }

  function buildWhy() {
    var cards = REASONS.map(function (reason, index) {
      var card =
        '<article class="rbh-reason">' +
        '<span class="rbh-reason__wash" aria-hidden="true"></span>' +
        '<span class="rbh-reason__ord" aria-hidden="true">' +
        arabicNumber(index + 1) +
        '</span>' +
        '<span class="rbh-reason__icon">' +
        '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" ' +
        'stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">' +
        '<path d="' +
        esc(reason.glyph) +
        '"></path></svg></span>' +
        '<h3>' +
        esc(reason.title) +
        '</h3>' +
        '<p>' +
        esc(reason.body) +
        '</p>' +
        '<span class="rbh-reason__rule" aria-hidden="true"></span>' +
        '</article>';

      return '<li>' + reveal(card, index * 80) + '</li>';
    }).join('');

    var section = document.createElement('section');
    section.className = 'rbh-why';
    section.id = 'why';
    section.setAttribute('aria-labelledby', 'rbh-why-heading');
    section.innerHTML =
      '<div class="rbh-container">' +
      headingHtml({
        id: 'rbh-why-heading',
        eyebrow: 'لماذا تختار ربيح',
        title: 'لأن متجرك يستحق شريكًا لا مورّدًا',
        lede: 'ستة أسباب تجعل التجار يعودون إلينا — ويرشّحوننا لغيرهم.'
      }) +
      '<ul class="rbh-why__grid">' +
      cards +
      '</ul>' +
      '</div>';

    return section;
  }

  /* ======================================================================
     8. الأسئلة الشائعة
     ====================================================================== */

  /* Questions mirror what both reference stores answer: legitimacy, timelines,
     payment, ownership, and what happens after launch. */
  var FAQS = [
    {
      q: 'كم يستغرق إنشاء المتجر؟',
      a:
        'باقة التأسيس تُسلَّم خلال ٥ إلى ٧ أيام عمل، وباقة النمو خلال ١٠ إلى ١٤ يومًا، وباقة التطوير من ٣ إلى ٤ ' +
        'أسابيع لأنها تشمل المحتوى والحملات. نرسل لك جدولًا زمنيًا مكتوبًا قبل بدء العمل.'
    },
    {
      q: 'هل المتجر والحسابات تكون باسمي؟',
      a:
        'نعم، بالكامل. حساب سلة وحسابات الإعلانات وملفات التصميم كلها باسمك ومسجّلة ببريدك من ' +
        'اليوم الأول. لا نحتفظ بأي صلاحية تمنعك من الاستقلال متى شئت.'
    },
    {
      q: 'كيف تتم عملية الدفع؟',
      a:
        'الدفع عبر منصة سلة بالطرق المعتمدة: مدى، آبل باي، البطاقات الائتمانية، والتحويل البنكي. ' +
        'تصلك فاتورة ضريبية رسمية بعد كل عملية.'
    },
    {
      q: 'هل أسعار الباقات تشمل اشتراك سلة؟',
      a:
        'لا. اشتراك منصة سلة يُدفع مباشرة للمنصة ويُجدَّد سنويًا، وهو منفصل عن أسعارنا. نساعدك في ' +
        'اختيار الباقة المناسبة لحجم متجرك حتى لا تدفع أكثر مما تحتاج.'
    },
    {
      q: 'ماذا يحدث بعد تسليم المتجر؟',
      a:
        'كل باقة تشمل فترة دعم فني (شهر إلى ٦ أشهر حسب الباقة) نصلح فيها أي خلل ونجيب على أسئلتك. ' +
        'بعدها يمكنك الاستمرار معنا بباقة خدمات مساندة أو إدارة المتجر بنفسك.'
    },
    {
      q: 'هل سعر إدارة الإعلانات يشمل ميزانية الإعلان؟',
      a:
        'لا. السعر مقابل الإدارة والتصميم والتحسين فقط، أما ميزانية الإعلان فتُدفع مباشرة للمنصة ' +
        'الإعلانية من حسابك. نساعدك في تحديد ميزانية واقعية تناسب هدفك.'
    },
    {
      q: 'ليس لدي منتجات جاهزة بعد، هل أبدأ معكم؟',
      a:
        'نعم. نبدأ باستشارة مجانية نحدّد فيها المجال والمنتجات وطريقة العرض، ويمكننا تولّي التصوير ' +
        'وكتابة الأوصاف ضمن خدمات مساندة.'
    },
    {
      q: 'ما سياسة الإلغاء والاسترجاع؟',
      a:
        'يمكنك الإلغاء قبل بدء التنفيذ واسترجاع المبلغ كاملًا. بعد بدء العمل يُحتسب ما أُنجز فعليًا ' +
        'ويُسترجع الباقي. الخدمات الشهرية تُلغى بإشعار قبل ٧ أيام من التجديد.'
    }
  ];

  function buildFaq() {
    var items = FAQS.map(function (faq, index) {
      var item =
        '<details>' +
        '<summary><span>' +
        esc(faq.q) +
        '</span><span class="rbh-faq__sign" aria-hidden="true">+</span></summary>' +
        '<p>' +
        esc(faq.a) +
        '</p>' +
        '</details>';

      return reveal(item, index * 60);
    }).join('');

    var section = document.createElement('section');
    section.className = 'rbh-faq';
    section.id = 'faq';
    section.setAttribute('aria-labelledby', 'rbh-faq-heading');
    section.innerHTML =
      '<div class="rbh-container">' +
      headingHtml({
        id: 'rbh-faq-heading',
        eyebrow: 'الأسئلة الشائعة',
        title: 'أسئلة يسألها كل تاجر',
        lede: 'أجوبة مباشرة، بلا تهرّب — وإن بقي سؤال، اسألنا على واتساب.'
      }) +
      '<div class="rbh-faq__grid">' +
      items +
      '</div>' +
      '</div>';

    return section;
  }

  /* ======================================================================
     9. بيان النمو
     ====================================================================== */

  /* ⚠️ PLACEHOLDER figures — the same three claims as the hero's stats, and the
     same warning applies: confirm every one before launch. `note` is the gloss
     that stops the number being a bare claim. */
  var PROOF_POINTS = [
    { value: '+500', label: 'متجر تم إطلاقه', note: 'من الفكرة إلى أول طلب' },
    { value: '4X', label: 'متوسط نمو المبيعات', note: 'خلال أول ٦ أشهر' },
    { value: '24/7', label: 'دعم ومتابعة', note: 'فريق يرد، لا روبوت' }
  ];

  function buildGrowth() {
    var proof = PROOF_POINTS.map(function (point) {
      return (
        '<li>' +
        '<span class="rbh-growth__bar" aria-hidden="true"></span>' +
        '<p class="rbh-growth__value">' +
        esc(point.value) +
        '</p>' +
        '<div><p class="rbh-growth__label">' +
        esc(point.label) +
        '</p><p class="rbh-growth__note">' +
        esc(point.note) +
        '</p></div>' +
        '</li>'
      );
    }).join('');

    var panel =
      '<div class="rbh-growth__panel">' +
      '<div class="rbh-growth__orbs" aria-hidden="true"><span></span><span></span></div>' +
      '<div class="rbh-growth__grid" aria-hidden="true"></div>' +
      '<div class="rbh-growth__light" aria-hidden="true"></div>' +
      '<div class="rbh-growth__cols">' +
      '<div class="rbh-growth__say">' +
      '<p class="rbh-growth__badge"><span aria-hidden="true">✦</span>شريك نمو، لا مجرد منفّذ</p>' +
      '<h2 id="rbh-growth-heading">نساعد المتاجر على ' +
      '<span class="rbh-growth__mark">تحقيق النمو' +
      '<svg viewBox="0 0 200 12" preserveAspectRatio="none" aria-hidden="true">' +
      '<path d="M2 8.5C40 3.5 78 2.5 116 4.5c28 1.5 56 3.5 82 2" fill="none" ' +
      'stroke="currentColor" stroke-width="3" stroke-linecap="round"></path></svg>' +
      '</span></h2>' +
      '<p class="rbh-growth__lede">نقدّم لك فريقًا متكاملًا يتولّى متجرك من التصميم حتى الإعلان: ' +
      'هوية بصرية تُميّزك، تجربة شراء مصممة للتحويل، وحملات تُدار بالأرقام لا بالتخمين — ' +
      'ومتابعة مستمرة تضمن أن كل ريال تصرفه يعود عليك.</p>' +
      '<div class="rbh-growth__actions">' +
      '<a class="rbh-growth__cta" href="' +
      esc(PRODUCTS.consultation) +
      '">' +
      '<i aria-hidden="true"></i><span>ابدأ نموّك اليوم</span></a>' +
      '<a class="rbh-growth__ghost" href="#partners">شاهد شركاءنا</a>' +
      '</div>' +
      '</div>' +
      '<ul class="rbh-growth__proof">' +
      proof +
      '</ul>' +
      '</div>' +
      '</div>';

    var section = document.createElement('section');
    section.className = 'rbh-growth';
    section.id = 'growth';
    section.setAttribute('aria-labelledby', 'rbh-growth-heading');
    section.innerHTML = '<div class="rbh-container">' + reveal(panel) + '</div>';

    return section;
  }

  /* ======================================================================
     10. إدارة الإعلانات
     ====================================================================== */

  /* ⚠️ PLACEHOLDER CONTENT — prices, budgets and deliverables are invented so
     the layout could be built and reviewed. Replace verbatim from the client's
     list.

     These are the same shape as STORE_PACKAGES and go through the same card, in
     the cool alloys rather than the warm ladder. `period` is what tells the two
     blocks apart at a glance: a retainer shows «/ شهريًا», a one-off build
     shows nothing there. */
  var AD_PLANS = [
    {
      id: 'ads-a',
      metal: 'graphite',
      name: 'باقة A',
      pitch: 'إطلاق حملاتك الأولى بإعداد صحيح واستهداف مدروس.',
      price: 1200,
      period: 'شهريًا',
      features: [
        'إدارة منصة إعلانية واحدة',
        'إعداد وربط بكسل التتبّع والتحويلات',
        'تصميم ٤ إعلانات شهريًا',
        'تحسين أسبوعي للحملات',
        'تقرير أداء شهري'
      ],
      ctaLabel: 'اطلب باقة A'
    },
    {
      id: 'ads-b',
      metal: 'sapphire',
      name: 'باقة B',
      pitch: 'حضور إعلاني كامل عبر المنصات مع تحسين مستمر بالأرقام.',
      price: 2400,
      period: 'شهريًا',
      features: [
        'إدارة ٣ منصات إعلانية',
        'كل ما في باقة التأسيس',
        'تصميم ١٢ إعلانًا شهريًا (صور وفيديو)',
        'اختبارات A/B مستمرة',
        'حملات إعادة استهداف',
        'تقرير أداء أسبوعي + مكالمة متابعة'
      ],
      ctaLabel: 'اطلب باقة B',
      featured: true,
      badge: 'الأفضل للنمو'
    }
  ];

  /*
   * Brand marks for the platform ticker.
   *
   * Injected at build time from the same simple-icons set the Twilight theme
   * uses, so the two builds cannot drift on artwork. `ink` is the contrast-safe
   * variant of the official colour — Snapchat's yellow is unreadable on white,
   * and only `ink` is ever used as a foreground.
   */
  var BRAND_ICONS = {"meta":{"title":"Meta","ink":"#0467DF","path":"M6.915 4.03c-1.968 0-3.683 1.28-4.871 3.113C.704 9.208 0 11.883 0 14.449c0 .706.07 1.369.21 1.973a6.624 6.624 0 0 0 .265.86 5.297 5.297 0 0 0 .371.761c.696 1.159 1.818 1.927 3.593 1.927 1.497 0 2.633-.671 3.965-2.444.76-1.012 1.144-1.626 2.663-4.32l.756-1.339.186-.325c.061.1.121.196.183.3l2.152 3.595c.724 1.21 1.665 2.556 2.47 3.314 1.046.987 1.992 1.22 3.06 1.22 1.075 0 1.876-.355 2.455-.843a3.743 3.743 0 0 0 .81-.973c.542-.939.861-2.127.861-3.745 0-2.72-.681-5.357-2.084-7.45-1.282-1.912-2.957-2.93-4.716-2.93-1.047 0-2.088.467-3.053 1.308-.652.57-1.257 1.29-1.82 2.05-.69-.875-1.335-1.547-1.958-2.056-1.182-.966-2.315-1.303-3.454-1.303zm10.16 2.053c1.147 0 2.188.758 2.992 1.999 1.132 1.748 1.647 4.195 1.647 6.4 0 1.548-.368 2.9-1.839 2.9-.58 0-1.027-.23-1.664-1.004-.496-.601-1.343-1.878-2.832-4.358l-.617-1.028a44.908 44.908 0 0 0-1.255-1.98c.07-.109.141-.224.211-.327 1.12-1.667 2.118-2.602 3.358-2.602zm-10.201.553c1.265 0 2.058.791 2.675 1.446.307.327.737.871 1.234 1.579l-1.02 1.566c-.757 1.163-1.882 3.017-2.837 4.338-1.191 1.649-1.81 1.817-2.486 1.817-.524 0-1.038-.237-1.383-.794-.263-.426-.464-1.13-.464-2.046 0-2.221.63-4.535 1.66-6.088.454-.687.964-1.226 1.533-1.533a2.264 2.264 0 0 1 1.088-.285z"},"instagram":{"title":"Instagram","ink":"#FF0069","path":"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"},"tiktok":{"title":"TikTok","ink":"#000000","path":"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"},"snapchat":{"title":"Snapchat","ink":"#B39400","path":"M12.206.793c.99 0 4.347.276 5.93 3.821.529 1.193.403 3.219.299 4.847l-.003.06c-.012.18-.022.345-.03.51.075.045.203.09.401.09.3-.016.659-.12 1.033-.301.165-.088.344-.104.464-.104.182 0 .359.029.509.09.45.149.734.479.734.838.015.449-.39.839-1.213 1.168-.089.029-.209.075-.344.119-.45.135-1.139.36-1.333.81-.09.224-.061.524.12.868l.015.015c.06.136 1.526 3.475 4.791 4.014.255.044.435.27.42.509 0 .075-.015.149-.045.225-.24.569-1.273.988-3.146 1.271-.059.091-.12.375-.164.57-.029.179-.074.36-.134.553-.076.271-.27.405-.555.405h-.03c-.135 0-.313-.031-.538-.074-.36-.075-.765-.135-1.273-.135-.3 0-.599.015-.913.074-.6.104-1.123.464-1.723.884-.853.599-1.826 1.288-3.294 1.288-.06 0-.119-.015-.18-.015h-.149c-1.468 0-2.427-.675-3.279-1.288-.599-.42-1.107-.779-1.707-.884-.314-.045-.629-.074-.928-.074-.54 0-.958.089-1.272.149-.211.043-.391.074-.54.074-.374 0-.523-.224-.583-.42-.061-.192-.09-.389-.135-.567-.046-.181-.105-.494-.166-.57-1.918-.222-2.95-.642-3.189-1.226-.031-.063-.052-.15-.055-.225-.015-.243.165-.465.42-.509 3.264-.54 4.73-3.879 4.791-4.02l.016-.029c.18-.345.224-.645.119-.869-.195-.434-.884-.658-1.332-.809-.121-.029-.24-.074-.346-.119-1.107-.435-1.257-.93-1.197-1.273.09-.479.674-.793 1.168-.793.146 0 .27.029.383.074.42.194.789.3 1.104.3.234 0 .384-.06.465-.105l-.046-.569c-.098-1.626-.225-3.651.307-4.837C7.392 1.077 10.739.807 11.727.807l.419-.015h.06z"},"googleAds":{"title":"Google Ads","ink":"#4285F4","path":"M3.9998 22.9291C1.7908 22.9291 0 21.1383 0 18.9293s1.7908-3.9998 3.9998-3.9998 3.9998 1.7908 3.9998 3.9998-1.7908 3.9998-3.9998 3.9998zm19.4643-6.0004L15.4632 3.072C14.3586 1.1587 11.9121.5028 9.9988 1.6074S7.4295 5.1585 8.5341 7.0718l8.0009 13.8567c1.1046 1.9133 3.5511 2.5679 5.4644 1.4646 1.9134-1.1046 2.568-3.5511 1.4647-5.4644zM7.5137 4.8438L1.5645 15.1484A4.5 4.5 0 0 1 4 14.4297c2.5597-.0075 4.6248 2.1585 4.4941 4.7148l3.2168-5.5723-3.6094-6.25c-.4499-.7793-.6322-1.6394-.5878-2.4784z"},"x":{"title":"X","ink":"#000000","path":"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"},"youtube":{"title":"YouTube","ink":"#FF0000","path":"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"}};

  var AD_PLATFORMS = ['meta', 'instagram', 'tiktok', 'snapchat', 'googleAds', 'x', 'youtube'];

  function buildAds() {
    var cards = AD_PLANS.map(function (plan, index) {
      return reveal(cardHtml(plan), index * STAGGER_MS);
    }).join('');

    var platforms = AD_PLATFORMS.map(function (key) {
      var icon = BRAND_ICONS[key];
      if (!icon) return '';
      return (
        '<li><span class="rbh-brand" style="--brand:' +
        icon.ink +
        '">' +
        '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="' +
        icon.path +
        '"></path></svg>' +
        '<span>' +
        esc(icon.title) +
        '</span></span><i aria-hidden="true">✦</i></li>'
      );
    }).join('');

    var ticker =
      '<div class="rbh-marquee" dir="ltr"><div class="rbh-marquee__inner">' +
      '<ul>' +
      platforms +
      '</ul><ul aria-hidden="true">' +
      platforms +
      '</ul></div></div>';

    var section = document.createElement('section');
    section.className = 'rbh-ads';
    section.id = 'ads';
    section.setAttribute('aria-labelledby', 'rbh-ads-heading');
    section.innerHTML =
      '<div class="rbh-ads__bg" aria-hidden="true">' +
      '<div class="rbh-ads__wash"></div><div class="rbh-ads__grid"></div>' +
      '</div>' +
      '<div class="rbh-container">' +
      headingHtml({
        id: 'rbh-ads-heading',
        eyebrow: 'إدارة الإعلانات',
        title: 'حملات تُدار بالأرقام',
        lede:
          'لا نشتري ظهورًا — نشتري عملاء. إعداد دقيق، اختبارات مستمرة، وتقارير تفهمها دون أن ' +
          'تكون مسوّقًا.'
      }) +
      '<div class="rbh-ads__cards">' +
      cards +
      '</div>' +
      reveal(
        '<p class="rbh-ads__budget">' +
          '<span class="rbh-ads__bang" aria-hidden="true">!</span>' +
          '<span>الميزانية الإعلانية تُدفع <b>للمنصات مباشرة</b> ولا تدخل ضمن قيمة الباقة.</span>' +
          '</p>',
        240
      ) +
      reveal(
        '<div class="rbh-ads__platforms">' +
          '<p>ندير حملاتك على المنصات التي يوجد فيها عملاؤك</p>' +
          ticker +
          '</div>',
        300
      ) +
      '</div>';

    /* Same delegated sheen as the store packages — the cards are identical, so
       the interaction has to be too. */
    section.addEventListener('pointermove', function (event) {
      var card = event.target.closest('.rbh-card');
      if (!card) return;
      var bounds = card.getBoundingClientRect();
      card.style.setProperty('--spot-x', event.clientX - bounds.left + 'px');
      card.style.setProperty('--spot-y', event.clientY - bounds.top + 'px');
    });

    return section;
  }

  /* ======================================================================
     11. التشغيل
     ====================================================================== */

  function init() {
    var anchor = document.querySelector('header.store-header');
    if (!anchor) return false;

    if (!document.querySelector('.rbh-header')) {
      var header = buildHeader();
      var drawer = buildDrawer();
      anchor.parentNode.insertBefore(header, anchor);
      document.body.appendChild(drawer);
      wireDrawer(header, drawer);
      wireDropdowns(header);
    }

    if (isHome()) {
      /* Set here as well as at load: on a URL the first check could not
         recognise, this is the earliest point the DOM can confirm it. */
      root.classList.add('rbh-home');

      /*
       * The running order of the landing page, top to bottom.
       *
       * A list rather than a sequence of hand-written insertions: adding a
       * section is one row here, and the order on screen is the order in this
       * array with nothing else to keep in sync. Each section is appended after
       * the previous one, starting immediately after the header — which is
       * exactly where Raed's own masthead sat, so the page keeps its original
       * shape rather than growing a block above or below where it belongs.
       */
      var SECTIONS = [
        ['.rbh-hero', buildHero],
        ['.rbh-packages', buildPackages],
        ['.rbh-partners', buildPartners],
        ['.rbh-growth', buildGrowth],
        ['.rbh-ads', buildAds],
        ['.rbh-why', buildWhy],
        ['.rbh-faq', buildFaq]
      ];

      var previous = document.querySelector('.rbh-header') || anchor;

      SECTIONS.forEach(function (entry) {
        var existing = document.querySelector(entry[0]);
        if (existing) {
          previous = existing;
          return;
        }
        var node = entry[1]();
        previous.parentNode.insertBefore(node, previous.nextSibling);
        previous = node;
      });

      /* Last, once every section is in the document — the observer has to see
         the final layout to judge what is already on screen. */
      armReveals(document);
    }

    return true;
  }

  function start() {
    if (init()) return;

    /* Raed renders its header server-side, so the anchor is normally already
       there. This covers the case where Salla's SDK swaps the region after
       load. It gives up on a timer rather than watching forever — an observer
       left running on <body> costs something on every DOM write the storefront
       makes. */
    var observer = new MutationObserver(
      guard(function () {
        if (init()) observer.disconnect();
      })
    );
    observer.observe(document.body, { childList: true, subtree: true });

    window.setTimeout(
      guard(function () {
        observer.disconnect();
        /* Nothing to mount against — hand the storefront its own chrome back
           rather than leaving the page with no navigation. */
        if (!document.querySelector('.rbh-header')) {
          abort('mount anchor never appeared');
        }
      }),
      8000
    );
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', guard(start), { once: true });
  } else {
    start();
  }
  }
})();