/* ═══════════════════════════════════════════════════════════════════════════
   OVIO — Design Tokens (Redesign P1.1, D-460+)
   THE single source of truth for the PUBLIC SITE's design language.
   Scope: the marketing/site pages (index, product, faq, articles, guides,
   download, security, legal). The client portal and the admin panel are the
   PRODUCT and keep their own system — do not point them here.

   Rules of the system (blueprint §13):
   • Signature violet replaces Tailwind indigo-600. Hover = one step deeper.
   • ONE muted text tone per background family (not four).
   • THREE radii only: 10 (controls) · 16 (cards) · 999 (pills).
   • Amber is SEMANTIC (alerts, highlighter, the one emotional CTA) — never decoration.
   • Status colors mirror the product itself (site↔portal consistency).

   Pages may still carry legacy inline values; when editing a page, migrate
   what you touch to these tokens. Hardcoded indigo was globally swapped to
   the violet scale on 2026-08-13 — if you meet #4f46e5 anywhere in the public
   pages, it is a regression.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  /* ── Brand scale (violet signature) ── */
  --ov-primary:#7c3aed;        /* buttons, links, active states */
  --ov-primary-deep:#6d28d9;   /* hover / pressed */
  --ov-primary-deeper:#5b21b6; /* dark emphasis fills */
  --ov-primary-soft:#8b5cf6;   /* secondary accents */
  --ov-primary-tint:#a78bfa;   /* icons, borders on dark */
  --ov-primary-faint:#c4b5fd;  /* muted brand text on dark */

  /* ── Backgrounds ── */
  --ov-bg-dark:#140a30;        /* ONE dark base (was 3 competing tones) */
  --ov-surface-dark:#1e1145;   /* cards on dark: opaque + 1px border, no glass */
  --ov-border-dark:rgba(255,255,255,.09);
  --ov-bg-light:#f7f5fb;       /* light bands: product / trust / pricing */
  --ov-surface-light:#ffffff;
  --ov-border-light:#e7e2f2;

  /* ── Text ── */
  --ov-ink-dark-bg:#ede9fe;    /* text on dark */
  --ov-muted-dark-bg:#b9aedf;  /* THE muted on dark */
  --ov-ink-light-bg:#231645;   /* text on light */
  --ov-muted-light-bg:#5d5478; /* THE muted on light */

  /* ── Semantic (match the product UI) ── */
  --ov-ok:#10b981;
  --ov-warn:#f59e0b;           /* the alert color — semantic use ONLY */
  --ov-err:#ef4444;

  /* ── Shape ── */
  --ov-r-control:10px;
  --ov-r-card:16px;
  --ov-r-pill:999px;

  /* ── Type scale (Assistant, self-hosted; max 2 sizes per section) ── */
  --ov-font:'Assistant',system-ui,sans-serif;
  --ov-h1:clamp(34px,5.2vw,58px);   /* w800 lh1.15 ls-0.5px */
  --ov-h2:clamp(26px,3.4vw,38px);   /* w800 lh1.25 ls-0.3px */
  --ov-h3:clamp(19px,2.2vw,24px);   /* w700 lh1.35 */
  --ov-body:16.5px;                 /* w400 lh1.75 */
  --ov-lead:18.5px;                 /* w400 80% opacity lh1.7 */
  --ov-eyebrow:13.5px;              /* w700 +0.06em (Hebrew CAPS substitute) */

  /* ── Motion ── */
  --ov-ease:cubic-bezier(0.16,1,0.3,1);

  /* ── Shadow (light surfaces only; dark uses border, not shadow) ── */
  --ov-shadow-light:0 8px 28px rgba(35,22,69,.08);
}
