Files
tripz-llc/marketing/index.html
T

1951 lines
160 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ar" dir="rtl" data-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tripz — أطلق تطبيق النقل بعلامتك التجارية</title>
<meta name="description" content="أطلق تطبيق نقل بعلامتك التجارية خلال 30 يوماً — بياناتك تبقى لك. تطبيقا راكب وسائق، لوحة تحكم وdispatch، بتكلفة معلنة على الموقع.">
<meta property="og:title" content="Tripz — Launch ride-hailing under your brand">
<meta property="og:description" content="Rider & driver apps on both stores, admin panel and dispatch — pricing published, data export guaranteed.">
<meta property="og:type" content="website">
<link rel="alternate" hreflang="ar" href="/ar/"><link rel="alternate" hreflang="en" href="/en/">
<link rel="alternate" hreflang="fr" href="/fr/"><link rel="alternate" hreflang="es" href="/es/">
<link rel="alternate" hreflang="x-default" href="/ar/">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap" rel="stylesheet">
<style>
/* ============ DESIGN TOKENS (docs/31 §5) ============ */
:root{
--midnight-900:#0A1128; --midnight-800:#0D1733; --midnight-700:#12203F;
--brand-500:#2E4BFF; --brand-600:#1F38D9; --brand-glow:rgba(46,75,255,.45);
--signal-400:#D6DBEE; --signal-glow:rgba(214,219,238,.38);
--surface-0:#FFFFFF; --surface-50:#F6F8FC; --surface-100:#EEF2FA;
--ink-900:#101828; --ink-700:#344054; --ink-500:#5B6478; --ink-300:#98A2B3;
--success-500:#12B76A; --danger-500:#F04438;
--line:rgba(16,24,40,.10);
--radius-card:16px; --radius-btn:12px; --radius-pill:999px;
--shadow-sm:0 2px 8px rgba(10,17,40,.06);
--shadow-md:0 4px 24px rgba(10,17,40,.10);
--shadow-lg:0 24px 60px rgba(10,17,40,.18);
--ease:cubic-bezier(.16,1,.3,1);
--font-ar:"IBM Plex Sans Arabic",system-ui,sans-serif;
--font-lat:"Inter",system-ui,sans-serif;
--font-display:"Space Grotesk","IBM Plex Sans Arabic",system-ui,sans-serif;
--maxw:1200px;
/* semantic surfaces (light) */
--bg:var(--surface-0); --bg-alt:var(--surface-50); --card:var(--surface-0);
--text:var(--ink-900); --text-soft:var(--ink-500); --border:var(--line);
--nav-bg:rgba(255,255,255,.72);
}
[data-theme="dark"]{
--bg:var(--midnight-900); --bg-alt:var(--midnight-800); --card:var(--midnight-700);
--text:#EAF0FF; --text-soft:#9BA8C9; --border:rgba(255,255,255,.10);
--nav-bg:rgba(10,17,40,.72); --shadow-md:0 4px 24px rgba(0,0,0,.4);
--shadow-lg:0 24px 60px rgba(0,0,0,.55); --line:rgba(255,255,255,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
font-family:var(--font-ar);background:var(--bg);color:var(--text);
line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;
transition:background .4s var(--ease),color .4s var(--ease);
}
html[lang="en"] body,html[lang="fr"] body,html[lang="es"] body{font-family:var(--font-lat);line-height:1.55}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;letter-spacing:-.01em;font-weight:700}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{font-family:var(--font-ar);letter-spacing:0}
.num{font-family:var(--font-lat);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
section{padding:96px 0;position:relative}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{color:var(--brand-500);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
[data-theme="dark"] .eyebrow{color:#8AA0FF}
h2.sec{font-size:clamp(30px,4vw,44px);margin-bottom:16px}
.sec-lead{color:var(--text-soft);font-size:19px;max-width:640px;margin-bottom:48px}
.center{text-align:center}.center .sec-lead{margin-inline:auto}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-weight:600;
font-size:16px;padding:15px 26px;border-radius:var(--radius-btn);border:1px solid transparent;
cursor:pointer;transition:transform .18s var(--ease),box-shadow .25s,background .2s;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brand-500);color:#fff;box-shadow:0 8px 24px var(--brand-glow)}
.btn-primary:hover{background:var(--brand-600);box-shadow:0 12px 32px var(--brand-glow)}
.btn-primary::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
transform:skewX(-20deg);animation:sheen 8s ease-in-out infinite}
@keyframes sheen{0%,88%{left:-60%}96%{left:130%}100%{left:130%}}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--brand-500);color:var(--brand-500)}
.btn-wa{background:#25D366;color:#062e14}
.btn-wa:hover{background:#1fbe5a}
.btn-lg{padding:17px 34px;font-size:17px}
/* ============ NAV ============ */
header{position:sticky;top:0;z-index:100;transition:background .3s,box-shadow .3s,border-color .3s;
border-bottom:1px solid transparent}
header.scrolled{background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}
.nav{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.02em;direction:ltr;unicode-bidi:isolate}
.brand-badge{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:6px 12px;box-shadow:0 2px 10px rgba(10,17,40,.18)}
.brand-badge img{height:22px;display:block}
.foot-brand .brand-badge img{height:24px}
.brand .z{color:var(--signal-400)}
.brand svg{width:30px;height:30px}
.nav-links{display:flex;gap:26px;margin-inline-start:14px}
.nav-links a{font-size:15px;font-weight:500;color:var(--text-soft);transition:color .2s}
.nav-links a:hover{color:var(--text)}
.nav-right{margin-inline-start:auto;display:flex;align-items:center;gap:12px}
.icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:transparent;
color:var(--text);cursor:pointer;display:grid;place-items:center;transition:.2s}
.icon-btn:hover{border-color:var(--brand-500);color:var(--brand-500)}
.lang-wrap{position:relative}
.lang-menu{position:absolute;top:48px;inset-inline-end:0;background:var(--card);border:1px solid var(--border);
border-radius:12px;box-shadow:var(--shadow-md);padding:6px;min-width:150px;opacity:0;visibility:hidden;
transform:translateY(-8px);transition:.2s var(--ease);z-index:120}
.lang-wrap.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{display:block;width:100%;text-align:start;padding:9px 12px;border:0;background:transparent;
color:var(--text);font-family:inherit;font-size:15px;border-radius:8px;cursor:pointer}
.lang-menu button:hover,.lang-menu button.active{background:var(--bg-alt);color:var(--brand-500)}
.menu-toggle{display:none}
/* ============ HERO ============ */
/* ============ GRAIN TEXTURE (dark sections) ============ */
.grain{position:relative}
.grain::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
background-size:180px 180px}
.hero{padding:100px 0 60px;min-height:100vh;min-height:100svh;display:flex;align-items:center;background:
radial-gradient(1000px 500px at 80% -10%,rgba(46,75,255,.28),transparent 60%),
radial-gradient(700px 450px at 10% 100%,rgba(214,219,238,.14),transparent 60%),var(--midnight-900);
color:#EAF0FF;overflow:hidden;position:relative}
html[dir="ltr"] .hero{background:radial-gradient(1000px 500px at 20% -10%,rgba(46,75,255,.28),transparent 60%),
radial-gradient(700px 450px at 90% 100%,rgba(214,219,238,.14),transparent 60%),var(--midnight-900)}
.hero>.wrap{width:100%}
.hero-map{position:absolute;inset:-4%;opacity:.5;pointer-events:none;animation:mapDrift 24s ease-in-out infinite}
@keyframes mapDrift{0%{transform:translate(0,0) scale(1.02)}50%{transform:translate(-1.2%,.8%) scale(1.045)}100%{transform:translate(0,0) scale(1.02)}}
.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;display:flex;
flex-direction:column;align-items:center;gap:8px;color:#8A99C2;font-size:12px;text-decoration:none}
.scroll-cue .chev{width:20px;height:20px;border-inline-start:2px solid currentColor;border-bottom:2px solid currentColor;
transform:rotate(-45deg);animation:cueBounce 1.8s ease-in-out infinite}
html[dir="ltr"] .scroll-cue .chev{transform:rotate(-45deg)}
@keyframes cueBounce{0%,100%{transform:translateY(0) rotate(-45deg)}50%{transform:translateY(6px) rotate(-45deg)}}
@media(max-height:760px){.hero{min-height:auto;padding:96px 0 48px}}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;position:relative;z-index:2}
.hero h1{font-size:clamp(36px,5.4vw,62px);color:#fff;margin-bottom:22px}
.hero h1 .hl{color:var(--signal-400)}
.hero .word{display:inline-block;opacity:0;transform:translateY(16px);animation:wordIn .6s var(--ease) forwards}
@keyframes wordIn{to{opacity:1;transform:none}}
.hero-sub{font-size:19px;color:#B7C4E6;max-width:560px;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.trust-line{font-size:14px;color:#8A99C2;display:flex;align-items:center;gap:8px}
.trust-line b{color:#C7D3F0;font-weight:500}
.hero-visual{position:relative;height:520px}
/* phones */
.phone{position:absolute;width:240px;border-radius:36px;background:#080d1e;border:4px solid #233463;
box-shadow:0 20px 50px rgba(0,0,0,.7),0 0 30px rgba(46,75,255,.3);overflow:hidden;animation:float 6s ease-in-out infinite}
.phone.p1{inset-inline-end:20px;top:10px;z-index:3}
.phone.p2{inset-inline-start:10px;top:110px;z-index:2;animation-delay:-3s;width:230px}
@keyframes float{0%,100%{transform:translateY(-6px)}50%{transform:translateY(6px)}}
.p-notch{height:20px;background:#080d1e;position:relative;z-index:5}
.p-notch::after{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:50px;height:5px;border-radius:6px;background:#1e2d54}
.p-screen{padding:0;min-height:auto;background:transparent;overflow:hidden}
.p-screen img{width:100%;height:auto;display:block;border-radius:0 0 32px 32px}
.p-map{height:150px;border-radius:14px;background:
linear-gradient(135deg,#13224a,#0e1730);position:relative;overflow:hidden;margin-bottom:12px}
.p-route{position:absolute;top:40%;left:10%;width:80%;height:3px;background:var(--brand-500);border-radius:3px;
box-shadow:0 0 12px var(--brand-glow)}
.p-pin{position:absolute;top:32%;left:70%;width:14px;height:14px;border-radius:50%;background:var(--signal-400);
box-shadow:0 0 0 4px var(--signal-glow);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--signal-glow)}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
.p-card{background:#131f3d;border-radius:12px;padding:11px;margin-bottom:9px}
.p-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#9BB0E0;margin-bottom:7px}
.p-row b{color:#fff}
.p-chip{display:inline-block;font-size:10px;padding:3px 9px;border-radius:999px;background:rgba(46,75,255,.2);color:#9DB2FF}
.p-btn{background:var(--brand-500);color:#fff;text-align:center;padding:9px;border-radius:9px;font-size:12px;font-weight:600}
.p-title{font-size:12px;color:#7C8DBB;margin-bottom:8px}
.p-earn{font-size:22px;color:#fff;font-weight:700}.p-earn small{font-size:12px;color:var(--success-500)}
/* ============ STATS ============ */
/* ============ AMBIENT BACKGROUND BLOBS ============ */
.ambient{position:relative;isolation:isolate;overflow:hidden}
.ambient::before,.ambient::after{content:"";position:absolute;z-index:-1;border-radius:50%;
filter:blur(90px);pointer-events:none}
.ambient::before{width:340px;height:340px;background:var(--brand-500);opacity:.10;top:-90px;inset-inline-end:-90px}
.ambient::after{width:300px;height:300px;background:var(--signal-400);opacity:.08;bottom:-110px;inset-inline-start:-80px}
[data-theme="dark"] .ambient::before{opacity:.24;background:#5B7CFF}
[data-theme="dark"] .ambient::after{opacity:.16}
.stats{background:var(--bg-alt);border-block:1px solid var(--border)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{text-align:center}
.stat .n{font-family:var(--font-display);font-size:clamp(28px,3.4vw,40px);font-weight:700;color:var(--brand-500)}
[data-theme="dark"] .stat .n{color:#8AA0FF}
.stat .l{color:var(--text-soft);font-size:15px;margin-top:6px}
/* ============ PILLARS ============ */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);
padding:32px 28px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--brand-500)}
.pcard .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;
background:linear-gradient(135deg,rgba(46,75,255,.16),rgba(214,219,238,.12));color:var(--brand-500)}
.pcard h3{font-size:22px;margin-bottom:10px}
.pcard p{color:var(--text-soft);font-size:16px}
/* ============ FEATURE ROWS (pillars, alternating) ============ */
.feature-rows{display:flex;flex-direction:column;gap:64px;margin-top:44px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.frow.reverse .frow-art{order:2}
.frow.reverse .frow-text{order:1}
.frow-art{aspect-ratio:260/200;filter:drop-shadow(0 12px 28px rgba(10,17,40,.14))}
[data-theme="dark"] .frow-art{filter:drop-shadow(0 12px 28px rgba(0,0,0,.35))}
.frow-text h3{font-size:26px;margin-bottom:12px}
.frow-text p{color:var(--text-soft);font-size:17px;max-width:420px}
@media(max-width:900px){
.frow,.frow.reverse{grid-template-columns:1fr}
.frow.reverse .frow-art,.frow.reverse .frow-text{order:initial}
.frow-art{max-width:320px;margin-inline:auto}
.frow-text{text-align:center}
.frow-text p{margin-inline:auto}
}
/* ============ BRANDS WE POWER ============ */
.brand-logos{display:flex;justify-content:center;align-items:stretch;gap:22px;flex-wrap:wrap;margin-top:36px}
.blogo-card{background:#fff;border-radius:16px;padding:28px 34px;display:flex;flex-direction:column;align-items:center;
gap:14px;min-width:180px;box-shadow:var(--shadow-sm);border:1px solid var(--line);
transition:transform .3s var(--ease),box-shadow .3s}
.blogo-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.blogo-card img{height:38px;width:auto}
.blogo-card span{font-size:14px;font-weight:600;color:var(--ink-500)}
.blogo-more{background:transparent;border:1.5px dashed var(--line);box-shadow:none;justify-content:center}
.blogo-more:hover{transform:none;box-shadow:none;border-color:var(--brand-500)}
.blogo-plus{width:38px;height:38px;border-radius:50%;background:var(--bg-alt);color:var(--brand-500);
display:grid;place-items:center;font-size:22px;font-weight:700}
.blogo-more span{color:var(--text-soft)}
.brands-note{text-align:center;color:var(--text-soft);font-size:14px;margin-top:26px}
/* ============ PRODUCT TABS ============ */
.tabs-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;background:var(--bg-alt);
padding:6px;border-radius:14px;border:1px solid var(--border);width:fit-content}
.tab-btn{padding:11px 20px;border-radius:10px;border:0;background:transparent;color:var(--text-soft);
font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:.25s}
.tab-btn.active{background:var(--brand-500);color:#fff;box-shadow:0 6px 16px var(--brand-glow)}
.tab-panel{display:none;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.tab-panel.active{display:grid;animation:fadeSlide .45s var(--ease)}
@keyframes fadeSlide{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-top:8px}
.feat-list li{display:flex;gap:12px;align-items:flex-start;font-size:17px}
.feat-list .ck{flex:none;width:26px;height:26px;border-radius:8px;background:rgba(18,183,106,.14);
color:var(--success-500);display:grid;place-items:center;margin-top:2px}
.mock{background:var(--midnight-700);border-radius:20px;padding:22px;border:1px solid var(--border);box-shadow:var(--shadow-md)}
.mock-img-wrap{background:var(--midnight-700);border-radius:20px;padding:12px;border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center;overflow:hidden}
.mock-img{width:100%;max-height:480px;object-fit:contain;border-radius:14px;display:block;margin:0 auto;transition:transform .3s var(--ease)}
.mock-img:hover{transform:scale(1.02)}
.mock-bar{display:flex;gap:6px;margin-bottom:16px}
.mock-bar span{width:11px;height:11px;border-radius:50%;background:#39466b}
.mock-map{height:170px;border-radius:14px;background:linear-gradient(135deg,#16274f,#101a34);position:relative;overflow:hidden;margin-bottom:14px}
.mock-line{position:absolute;height:3px;background:var(--brand-500);border-radius:3px;box-shadow:0 0 10px var(--brand-glow)}
.mock-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--signal-400);box-shadow:0 0 0 4px var(--signal-glow)}
.mock-rows{display:grid;gap:9px}
.mock-r{display:flex;justify-content:space-between;font-size:13px;color:#9BB0E0;background:#141f3d;padding:11px 13px;border-radius:10px}
.mock-r b{color:#fff}
/* ============ CALCULATOR ============ */
.calc{background:var(--midnight-800);color:#EAF0FF;
background-image:radial-gradient(700px 400px at 90% 0%,rgba(46,75,255,.18),transparent);}
.calc h2.sec{color:#fff}.calc .sec-lead{color:#B7C4E6}
.calc-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:stretch}
.calc-panel{background:var(--midnight-700);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:30px}
.field{margin-bottom:24px}
.field label{display:block;font-size:15px;color:#B7C4E6;margin-bottom:10px;font-weight:500}
.field label .val{color:var(--signal-400);font-weight:700;float:inline-end}
input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:6px;
background:linear-gradient(90deg,var(--brand-500) var(--p,40%),#28345c 0);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;
background:#fff;border:4px solid var(--brand-500);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
select,.txtin{width:100%;padding:13px 14px;border-radius:11px;border:1px solid rgba(255,255,255,.12);
background:var(--midnight-800);color:#fff;font-family:inherit;font-size:15px}
.result{background:var(--midnight-700);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:30px;display:flex;flex-direction:column}
.cmp-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cmp-row .lbl{color:#B7C4E6;font-size:15px}
.cmp-row .amt{font-family:var(--font-lat);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}
.cmp-row.tripz .amt{color:var(--success-500)}
.cmp-row.rival .amt{color:var(--danger-500)}
.savings{margin-top:auto;padding-top:22px;text-align:center}
.savings .cap{color:#B7C4E6;font-size:15px;margin-bottom:6px}
.savings .big{font-family:var(--font-lat);font-variant-numeric:tabular-nums;font-size:clamp(34px,5vw,52px);
font-weight:700;color:var(--signal-400);line-height:1.1}
.savings.bump .big{animation:bump .5s var(--ease)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
.calc-cta{margin-top:20px}
/* ============ TIMELINE ============ */
/* ============ ZIGZAG TIMELINE ============ */
.zig-timeline{position:relative;max-width:880px;margin:20px auto 0}
.zig-line{position:absolute;left:50%;top:6px;bottom:6px;width:3px;background:var(--border);transform:translateX(-50%)}
.zig-fill{position:absolute;left:50%;top:6px;width:3px;background:linear-gradient(var(--brand-500),var(--signal-400));
height:0;transition:height 1.4s var(--ease);transform:translateX(-50%)}
.zig-row{display:grid;grid-template-columns:1fr 52px 1fr;align-items:center;margin-bottom:52px}
.zig-row:last-child{margin-bottom:0}
.zig-row.a .zig-card{grid-column:1;text-align:end}
.zig-row.b .zig-card{grid-column:3;text-align:start}
.zig-node{grid-column:2;justify-self:center;width:42px;height:42px;border-radius:50%;background:var(--card);
border:3px solid var(--border);display:grid;place-items:center;font-size:14px;font-weight:800;
color:var(--text-soft);position:relative;z-index:2;transition:.4s var(--ease)}
.zig-row.on .zig-node{border-color:var(--brand-500);color:#fff;background:var(--brand-500);box-shadow:0 0 0 8px var(--brand-glow)}
.zig-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 24px;
box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s}
.zig-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.zig-day{font-size:13px;font-weight:700;color:var(--brand-500);letter-spacing:.04em;margin-bottom:5px}
[data-theme="dark"] .zig-day{color:#8AA0FF}
.zig-card h3{font-size:19px;margin-bottom:6px}
.zig-card p{color:var(--text-soft);font-size:15px}
@media(max-width:760px){
.zig-row{grid-template-columns:40px 1fr;margin-bottom:32px}
.zig-node{grid-column:1;width:36px;height:36px;font-size:13px}
.zig-row.a .zig-card,.zig-row.b .zig-card{grid-column:2;text-align:start}
.zig-line,.zig-fill{left:20px;transform:none}
}
/* ============ PRICING ============ */
.toggle-wrap{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:44px}
.toggle{position:relative;width:58px;height:32px;border-radius:999px;background:var(--brand-500);cursor:pointer;border:0}
.toggle .knob{position:absolute;top:4px;inset-inline-start:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.3s var(--ease)}
.toggle.year .knob{inset-inline-start:30px}
.toggle-lbl{font-weight:600;color:var(--text-soft)}.toggle-lbl.active{color:var(--text)}
.badge-save{background:rgba(18,183,106,.14);color:var(--success-500);font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch}
.plan{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:30px 24px;
display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.plan:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.plan.featured{border-color:var(--signal-400);box-shadow:0 20px 50px var(--signal-glow);transform:translateY(-8px)}
.plan.featured:hover{transform:translateY(-12px)}
.plan .tag{position:absolute;top:-13px;inset-inline-start:50%;transform:translateX(50%);background:var(--signal-400);
color:#0A1128;font-size:12px;font-weight:700;padding:5px 14px;border-radius:999px}
html[dir=ltr] .plan .tag{transform:translateX(-50%)}
.plan{position:relative}
.plan h3{font-size:22px;margin-bottom:4px}
.plan .price{font-family:var(--font-lat);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;margin:10px 0 2px}
.plan .price small{font-size:15px;color:var(--text-soft);font-weight:500}
.plan .setup{font-size:14px;color:var(--text-soft);margin-bottom:8px}
.plan .gmv{display:inline-block;font-size:13px;font-weight:700;color:var(--brand-500);background:rgba(46,75,255,.1);padding:4px 11px;border-radius:999px;margin-bottom:18px}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:24px;flex:1}
.plan li{display:flex;gap:9px;font-size:14.5px;color:var(--text-soft)}
.plan li .ck{color:var(--success-500);flex:none}
.plan-incl{color:var(--success-500);font-weight:700}
.plan-inherit{font-size:12.5px;color:var(--brand-500);font-weight:600;margin:-6px 0 12px;padding-bottom:10px;border-bottom:1px dashed var(--border)}
.plan .btn{width:100%;justify-content:center}
.gmv-note{margin-top:32px;text-align:center;color:var(--text-soft);font-size:15px}
.contract-box{margin-top:40px;background:var(--bg-alt);border:1px dashed var(--brand-500);border-radius:var(--radius-card);padding:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.contract-box .ci h4{font-size:16px;margin-bottom:6px;display:flex;gap:8px;align-items:center}
.contract-box .ci p{font-size:14px;color:var(--text-soft)}
.founder{margin-top:24px;background:linear-gradient(120deg,var(--brand-500),var(--brand-600));color:#fff;border-radius:var(--radius-card);padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.founder .seats{background:rgba(255,255,255,.18);padding:6px 14px;border-radius:999px;font-weight:700;font-size:14px}
/* ============ ADD-ONS / MODULES ============ */
.addons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:44px}
.addon-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:28px 24px;
display:flex;flex-direction:column;position:relative;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.addon-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--brand-500)}
.addon-card.featured{border-color:var(--signal-400);box-shadow:0 12px 32px var(--signal-glow)}
.addon-card.featured:hover{box-shadow:0 16px 40px var(--signal-glow)}
.addon-badge{position:absolute;top:-12px;inset-inline-start:16px;display:inline-flex;align-items:center;gap:5px;
font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;z-index:2;letter-spacing:.04em}
.addon-badge.available{background:rgba(18,183,106,.2);color:var(--success-500);text-transform:uppercase}
.addon-badge.coming-soon{background:rgba(152,162,179,.15);color:#9CA2B3;text-transform:uppercase}
.addon-ico{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;margin-top:6px}
.addon-card h3{font-size:20px;margin-bottom:10px}
.addon-card p{color:var(--text-soft);font-size:15px;flex:1;margin-bottom:18px}
.addon-price{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.addon-price .num{font-family:var(--font-lat);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}
.addon-price span:not(.num){color:var(--text-soft);font-size:14px}
.addon-setup{font-size:12px;color:var(--text-soft);margin-top:4px;font-weight:500}
@media(max-width:900px){
.addons-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.addon-card{padding:24px 20px}
}
@media(max-width:640px){
.addons-grid{grid-template-columns:1fr}
.addon-card{padding:24px}
}
.addons-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.addons-grid.three{grid-template-columns:1fr}}
.addons-note{margin-top:28px;text-align:center;color:var(--text-soft);font-size:14.5px;max-width:720px;margin-inline:auto}
/* شريط النواة — مشمول في كل الباقات */
.core-band{margin-top:44px;margin-bottom:32px;background:var(--bg-alt);border:1px solid var(--border);
border-inline-start:3px solid var(--success-500);border-radius:var(--radius-card);padding:24px 26px}
.core-band-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.core-lock{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
background:rgba(18,183,106,.14);color:var(--success-500)}
.core-band-head h3{font-size:18px;margin-bottom:4px}
.core-band-head p{color:var(--text-soft);font-size:14.5px}
.core-items{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.core-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.core-item b{display:block;font-size:15px;margin-bottom:3px}
.core-item span{color:var(--text-soft);font-size:13.5px}
@media(max-width:760px){.core-items{grid-template-columns:1fr}}
/* المواصلات — منتج مستقل */
.transit-sec{background:var(--midnight-800);color:#EAF0FF;
background-image:radial-gradient(760px 420px at 12% 0%,rgba(255,179,71,.14),transparent)}
html[dir=ltr] .transit-sec{background-image:radial-gradient(760px 420px at 88% 0%,rgba(255,179,71,.14),transparent)}
.transit-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.transit-sec .sec-lead{margin-bottom:22px}
.transit-for{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.transit-for span{font-size:13px;font-weight:600;padding:6px 13px;border-radius:999px;
background:rgba(255,179,71,.14);color:#FFB347;border:1px solid rgba(255,179,71,.28)}
.transit-sec .feat-list li{color:#C7D3F0;font-size:16px}
.transit-sec .feat-list .ck{background:rgba(255,179,71,.16);color:#FFB347}
.transit-card{position:relative;background:var(--midnight-700);border:1px solid rgba(255,255,255,.12);
border-radius:var(--radius-card);padding:30px 26px;box-shadow:var(--shadow-lg)}
.transit-price{display:flex;align-items:baseline;gap:8px}
.transit-price .num{font-family:var(--font-lat);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;color:#fff}
.transit-price span:not(.num){color:#9BA8C9;font-size:14px}
.transit-setup{color:#B7C4E6;font-size:14px;margin-top:6px}
.transit-sep{height:1px;background:rgba(255,255,255,.12);margin:20px 0}
.transit-note{color:#9BA8C9;font-size:13.5px;margin-bottom:20px}
@media(max-width:900px){.transit-grid{grid-template-columns:1fr;gap:32px}}
/* ============ CONSENT + ANALYTICS ============ */
.consent{position:fixed;inset-inline:16px;bottom:16px;z-index:200;max-width:520px;margin-inline:auto;
background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);
padding:20px 22px;transform:translateY(140%);transition:transform .45s var(--ease)}
.consent.show{transform:none}
.consent h4{font-size:16px;margin-bottom:6px}
.consent p{font-size:13.5px;color:var(--text-soft);margin-bottom:14px}
.consent-btns{display:flex;gap:10px;flex-wrap:wrap}
.consent-btns .btn{flex:1;justify-content:center;padding:11px 18px;font-size:14px;min-width:120px}
@media(max-width:520px){.consent{inset-inline:10px;bottom:10px;padding:18px}}
/* ============ COMPARISON ============ */
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}
.cmp-table th,.cmp-table td{padding:16px 18px;text-align:start;border-bottom:1px solid var(--border)}
.cmp-table thead th{font-family:var(--font-display);font-size:16px}
.cmp-table thead th.us{color:var(--brand-500)}
.cmp-table tbody tr:hover{background:var(--bg-alt)}
.cmp-table td.us{font-weight:700;color:var(--text)}
.cmp-table .yes{color:var(--success-500);font-weight:700}
.cmp-table .no{color:var(--danger-500);font-weight:700}
.cmp-table th.us,.cmp-table td.us{background:rgba(46,75,255,.07);position:relative}
[data-theme="dark"] .cmp-table th.us,[data-theme="dark"] .cmp-table td.us{background:rgba(89,120,255,.10)}
.cmp-table th.us{border-top:2px solid var(--brand-500)}
.cmp-table .us-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
color:var(--brand-500);background:var(--card);border:1px solid var(--brand-500);border-radius:999px;
padding:3px 10px;margin-inline-start:8px;vertical-align:middle}
.cmp-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-card)}
/* ============ CASE STUDY ============ */
.case{background:var(--bg-alt)}
.case-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.case p{color:var(--text-soft);font-size:17px;margin-bottom:16px}
.case-stats{display:flex;gap:14px;margin:24px 0}
.cs{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 20px;flex:1;text-align:center}
.cs .n{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--brand-500)}
.cs .l{font-size:13px;color:var(--text-soft)}
.quote{border-inline-start:3px solid var(--signal-400);padding-inline-start:18px;font-style:italic;color:var(--text);font-size:18px}
.quote .who{display:block;font-style:normal;font-size:14px;color:var(--text-soft);margin-top:8px}
.case-visual{background:var(--midnight-700);border-radius:20px;padding:24px;border:1px solid var(--border)}
.dash-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#B7C4E6;font-size:14px}
.dash-row b{color:#fff;font-family:var(--font-lat)}
.dash-bars{display:flex;gap:8px;align-items:flex-end;height:90px;margin-top:16px}
.dash-bars span{flex:1;background:linear-gradient(var(--brand-500),var(--brand-600));border-radius:5px 5px 0 0;opacity:.85}
/* ============ SECURITY ============ */
.sec-strip{background:var(--midnight-900);color:#B7C4E6}
.sec-strip .wrap{text-align:center}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px}
.sbadge{border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 20px;font-size:14px;display:flex;gap:9px;align-items:center;color:#C7D3F0}
.sbadge svg{color:var(--success-500)}
/* ============ FAQ ============ */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden;background:var(--card);transition:border-color .2s}
.faq-item.open{border-color:var(--brand-500)}
.faq-q{width:100%;text-align:start;padding:18px 22px;background:transparent;border:0;font-family:inherit;
font-size:17px;font-weight:600;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:14px}
.faq-q-text{flex:1}
.faq-ico{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
background:linear-gradient(135deg,rgba(46,75,255,.16),rgba(214,219,238,.12));color:var(--brand-500);transition:.3s}
.faq-item.open .faq-ico{background:var(--brand-500);color:#fff}
.faq-q .pm{flex:none;width:26px;height:26px;border-radius:50%;background:var(--bg-alt);display:grid;place-items:center;transition:.3s;color:var(--brand-500);font-size:20px}
.faq-item.open .pm{transform:rotate(45deg);background:var(--brand-500);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a p{padding:0 22px 22px;color:var(--text-soft);font-size:16px}
/* ============ FINAL CTA ============ */
.final{background:radial-gradient(800px 400px at 50% 120%,rgba(46,75,255,.35),transparent),var(--midnight-900);color:#fff;text-align:center}
.final h2{font-size:clamp(30px,4.4vw,50px);margin-bottom:26px}
.final .btn-group{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.demo-lead{color:#B7C4E6;font-size:17px;max-width:560px;margin:14px auto 36px}
.store-groups{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.store-group-label{font-size:14px;font-weight:700;color:var(--signal-400);margin-bottom:14px;letter-spacing:.03em}
.store-badges{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.store-badge{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:12px;
border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;
transition:transform .2s var(--ease),border-color .2s,background .2s}
.store-badge:hover{transform:translateY(-3px);border-color:var(--signal-400);background:rgba(255,255,255,.08)}
.store-badge span{display:flex;flex-direction:column;text-align:start;line-height:1.25}
.store-badge small{font-size:10.5px;color:#9BB0E0}
.store-badge b{font-size:14px;font-weight:600}
@media(max-width:560px){.store-groups{gap:24px}}
/* ============ FOOTER ============ */
footer{background:var(--midnight-900);color:#8A99C2;padding:64px 0 32px;border-top:1px solid rgba(255,255,255,.08)}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:36px;margin-bottom:40px}
.foot-brand .brand{color:#fff;margin-bottom:14px}
.foot-brand p{font-size:14px;max-width:260px}
.foot-col h5{color:#fff;font-size:15px;margin-bottom:14px;font-family:var(--font-display)}
.foot-col a{display:block;font-size:14px;margin-bottom:10px;transition:color .2s}
.foot-col a:hover{color:var(--brand-500)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:14px}
/* ============ FLOAT WA ============ */
.wa-float{position:fixed;bottom:24px;inset-inline-start:24px;z-index:90;width:58px;height:58px;border-radius:50%;
background:#25D366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(37,211,102,.5);
animation:waPulse 3s infinite;transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px transparent}100%{box-shadow:0 0 0 0 transparent}}
/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
/* ============ RESPONSIVE ============ */
@media(max-width:900px){
.nav-links{display:none}.menu-toggle{display:grid}
.hero-grid,.tab-panel.active,.calc-grid,.case-grid{grid-template-columns:1fr}
.hero-visual{height:440px;margin-top:20px}
.stats-grid{grid-template-columns:repeat(2,1fr);gap:32px 16px}
.cards-3,.price-grid,.contract-box{grid-template-columns:1fr}
.plan.featured{transform:none}
.foot-grid{grid-template-columns:1fr 1fr}
section{padding:64px 0}
.case-stats{flex-wrap:wrap}
}
@media(max-width:560px){
.stats-grid,.foot-grid{grid-template-columns:1fr}
.row2{grid-template-columns:1fr}
.founder{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:reduce){
*{animation-duration:.001s!important;transition-duration:.001s!important}
.reveal{opacity:1;transform:none}
}
</style>
</head>
<body>
<!-- ================= HEADER ================= -->
<header id="hdr">
<div class="wrap nav">
<a href="#" class="brand" aria-label="Tripz">
<span class="brand-badge"><img src="assets/logotripz.png" alt="Tripz"></span>
</a>
<nav class="nav-links">
<a href="#product" data-i18n="nav.product">المنتج</a>
<a href="#addons" data-i18n="nav.addons">الإضافات</a>
<a href="#calc" data-i18n="nav.savings">حاسبة التوفير</a>
<a href="#pricing" data-i18n="nav.pricing">التسعير</a>
<a href="#how" data-i18n="nav.how">كيف نطلق</a>
<a href="studio.html" style="color:#8b5cf6;font-weight:700;">✨ استوديو AI</a>
<a href="#faq" data-i18n="nav.faq">الأسئلة</a>
</nav>
<div class="nav-right">
<div class="lang-wrap" id="langWrap">
<button class="icon-btn" id="langBtn" aria-label="Language" aria-haspopup="true">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M2 12h20M12 2a15 15 0 010 20M12 2a15 15 0 000 20"/></svg>
</button>
<div class="lang-menu" role="menu">
<button data-lang="ar" class="active">العربية</button>
<button data-lang="en">English</button>
<button data-lang="fr">Français</button>
<button data-lang="es">Español</button>
</div>
</div>
<button class="icon-btn" id="themeBtn" aria-label="Theme">
<svg id="thmIcon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"/></svg>
</button>
<a href="#demo" class="btn btn-primary" style="padding:11px 20px" data-i18n="nav.demo">جرّب الديمو</a>
</div>
</div>
</header>
<!-- ================= HERO ================= -->
<section class="hero grain" id="top">
<svg class="hero-map" viewBox="0 0 1200 600" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
<g stroke="#1b2a52" stroke-width="1.5" fill="none" opacity=".7">
<path d="M0 120 H1200 M0 260 H1200 M0 400 H1200 M0 540 H1200"/>
<path d="M180 0 V600 M420 0 V600 M660 0 V600 M900 0 V600 M1080 0 V600"/>
</g>
<path id="road1" d="M-50 400 C 250 400 300 180 620 180 S 1000 260 1260 260" stroke="#2E4BFF" stroke-width="3" fill="none" opacity=".6"/>
<path id="road2" d="M-50 120 C 300 120 380 460 720 460 S 1100 400 1260 420" stroke="#D6DBEE" stroke-width="2.5" fill="none" opacity=".35"/>
<path id="road3" d="M-50 540 C 200 540 260 320 560 320 S 950 140 1260 100" stroke="#8AA0FF" stroke-width="2" fill="none" opacity=".3"/>
<circle cx="620" cy="180" r="4" fill="#2E4BFF" opacity=".8"><animate attributeName="r" values="4;9;4" dur="2.6s" repeatCount="indefinite"/><animate attributeName="opacity" values=".8;0;.8" dur="2.6s" repeatCount="indefinite"/></circle>
<circle cx="720" cy="460" r="4" fill="#D6DBEE" opacity=".7"><animate attributeName="r" values="4;9;4" dur="3.2s" begin="-1s" repeatCount="indefinite"/><animate attributeName="opacity" values=".7;0;.7" dur="3.2s" begin="-1s" repeatCount="indefinite"/></circle>
<circle r="6" fill="#fff"><animateMotion dur="9s" repeatCount="indefinite"><mpath href="#road1"/></animateMotion></circle>
<circle r="5" fill="#D6DBEE"><animateMotion dur="12s" repeatCount="indefinite"><mpath href="#road2"/></animateMotion></circle>
<circle r="5" fill="#8AA0FF"><animateMotion dur="14s" begin="-4s" repeatCount="indefinite"><mpath href="#road1"/></animateMotion></circle>
<circle r="4.5" fill="#2E4BFF"><animateMotion dur="10s" begin="-2s" repeatCount="indefinite"><mpath href="#road3"/></animateMotion></circle>
<circle r="4" fill="#fff" opacity=".8"><animateMotion dur="16s" begin="-7s" repeatCount="indefinite"><mpath href="#road2"/></animateMotion></circle>
</svg>
<a href="#why" class="scroll-cue" aria-label="Scroll down"><span data-i18n="hero.scroll"></span><span class="chev"></span></a>
<div class="wrap hero-grid">
<div class="hero-copy">
<h1 id="heroTitle"></h1>
<p class="hero-sub" data-i18n="hero.sub"></p>
<div class="hero-cta">
<a href="#demo" class="btn btn-primary btn-lg" data-i18n="hero.cta1">جرّب الديمو الحي</a>
<a href="https://wa.me/962798583052" target="_blank" rel="noopener" class="btn btn-wa btn-lg" data-i18n="hero.cta2">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2a10 10 0 00-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1012 2zm0 18a8 8 0 01-4-1.1l-.3-.2-2.9.8.8-2.8-.2-.3A8 8 0 1112 20zm4.4-6c-.2-.1-1.4-.7-1.6-.8s-.4-.1-.6.1-.6.8-.8.9-.3.2-.6 0a6.5 6.5 0 01-1.9-1.2 7.3 7.3 0 01-1.4-1.7c-.1-.3 0-.4.1-.5l.4-.5.3-.5v-.4l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 00-.7.3 3 3 0 00-.9 2.2 5.2 5.2 0 001.1 2.7 11.8 11.8 0 004.5 4c.6.2 1.1.4 1.5.5.6.2 1.2.2 1.6.1.5-.1 1.4-.6 1.6-1.1s.2-1 .1-1.1z"/></svg>
<span data-i18n="hero.cta2">تحدّث معنا على واتساب</span>
</a>
</div>
<p class="trust-line">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#25D366" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg>
<b data-i18n="hero.trust"></b>
</p>
</div>
<div class="hero-visual">
<!-- Rider phone -->
<div class="phone p1">
<div class="p-notch"></div>
<div class="p-screen" style="padding:0">
<img src="assets/mock_rider.png" alt="Tripz Rider App" style="width:100%;height:auto;display:block">
</div>
</div>
<!-- Driver phone -->
<div class="phone p2">
<div class="p-notch"></div>
<div class="p-screen" style="padding:0">
<img src="assets/mock_driver.png" alt="Tripz Driver App" style="width:100%;height:auto;display:block">
</div>
</div>
</div>
</div>
</section>
<!-- ================= STATS ================= -->
<section class="stats" style="padding:48px 0">
<div class="wrap stats-grid">
<div class="stat reveal"><div class="n"><span class="count" data-to="2019" data-plain="1">2019</span></div><div class="l" data-i18n="stat.since"></div></div>
<div class="stat reveal"><div class="n">$<span class="count" data-to="0.02" data-dec="2">0.02</span></div><div class="l" data-i18n="stat.min"></div></div>
<div class="stat reveal"><div class="n"><span class="count" data-to="30">30</span> <span data-i18n="stat.days"></span></div><div class="l" data-i18n="stat.launch"></div></div>
<div class="stat reveal"><div class="n"><span class="count" data-to="4">4</span></div><div class="l" data-i18n="stat.lang"></div></div>
</div>
</section>
<!-- ================= PILLARS ================= -->
<section id="why">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="pillars.eyebrow"></div>
<h2 class="sec" data-i18n="pillars.title"></h2>
<p class="sec-lead" data-i18n="pillars.lead"></p>
</div>
<div class="feature-rows">
<div class="frow reveal">
<div class="frow-art">
<svg viewBox="0 0 260 200" width="100%" height="100%">
<defs>
<linearGradient id="g1" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" style="stop-color:var(--brand-500)" stop-opacity=".16"/>
<stop offset="1" style="stop-color:var(--signal-400)" stop-opacity=".10"/>
</linearGradient>
</defs>
<rect x="4" y="4" width="252" height="192" rx="20" style="fill:url(#g1)"/>
<circle cx="224" cy="34" r="5" style="fill:var(--signal-400)" opacity=".7"/>
<circle cx="34" cy="168" r="4" style="fill:var(--brand-500)" opacity=".5"/>
<!-- shield -->
<path d="M130 36 L182 54 V96 C182 130 158 152 130 164 C102 152 78 130 78 96 V54 Z"
style="fill:var(--midnight-700)" opacity=".9"/>
<path d="M130 36 L182 54 V96 C182 130 158 152 130 164 C102 152 78 130 78 96 V54 Z"
style="fill:none;stroke:var(--brand-500);stroke-width:2.5"/>
<!-- document sliding out -->
<rect x="106" y="76" width="48" height="60" rx="4" style="fill:#fff" opacity=".95"/>
<line x1="114" y1="90" x2="146" y2="90" style="stroke:var(--ink-300);stroke-width:2.5"/>
<line x1="114" y1="100" x2="146" y2="100" style="stroke:var(--ink-300);stroke-width:2.5"/>
<line x1="114" y1="110" x2="134" y2="110" style="stroke:var(--ink-300);stroke-width:2.5"/>
<!-- export arrow -->
<path d="M130 118 L130 150 M130 150 L120 140 M130 150 L140 140" style="stroke:var(--signal-400);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;fill:none"/>
</svg>
</div>
<div class="frow-text">
<h3 data-i18n="pillars.p1.t"></h3><p data-i18n="pillars.p1.d"></p>
</div>
</div>
<div class="frow reveal reverse">
<div class="frow-art">
<svg viewBox="0 0 260 200" width="100%" height="100%">
<defs>
<linearGradient id="g2" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" style="stop-color:var(--signal-400)" stop-opacity=".14"/>
<stop offset="1" style="stop-color:var(--brand-500)" stop-opacity=".12"/>
</linearGradient>
</defs>
<rect x="4" y="4" width="252" height="192" rx="20" style="fill:url(#g2)"/>
<circle cx="40" cy="40" r="5" style="fill:var(--brand-500)" opacity=".6"/>
<!-- receipt -->
<path d="M92 40 H168 V148 L160 142 L152 148 L144 142 L136 148 L128 142 L120 148 L112 142 L104 148 L96 142 L92 148 Z"
style="fill:#fff" opacity=".97"/>
<path d="M92 40 H168 V148 L160 142 L152 148 L144 142 L136 148 L128 142 L120 148 L112 142 L104 148 L96 142 L92 148 Z"
style="fill:none;stroke:var(--line);stroke-width:1.5"/>
<line x1="104" y1="60" x2="156" y2="60" style="stroke:var(--ink-300);stroke-width:2.5"/>
<line x1="104" y1="72" x2="156" y2="72" style="stroke:var(--ink-300);stroke-width:2.5"/>
<line x1="104" y1="84" x2="140" y2="84" style="stroke:var(--ink-300);stroke-width:2.5"/>
<!-- transparent % badge -->
<circle cx="150" cy="108" r="26" style="fill:var(--success-500)" opacity=".14"/>
<circle cx="150" cy="108" r="26" style="fill:none;stroke:var(--success-500);stroke-width:2.5"/>
<text x="150" y="114" text-anchor="middle" style="fill:var(--success-500);font-size:15px;font-weight:700;font-family:sans-serif">2.5%</text>
<path d="M186 96 L196 106 L212 88" style="fill:none;stroke:var(--signal-400);stroke-width:4;stroke-linecap:round;stroke-linejoin:round"/>
</svg>
</div>
<div class="frow-text">
<h3 data-i18n="pillars.p2.t"></h3><p data-i18n="pillars.p2.d"></p>
</div>
</div>
<div class="frow reveal">
<div class="frow-art">
<svg viewBox="0 0 260 200" width="100%" height="100%">
<defs>
<linearGradient id="g3" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" style="stop-color:var(--brand-500)" stop-opacity=".16"/>
<stop offset="1" style="stop-color:var(--signal-400)" stop-opacity=".14"/>
</linearGradient>
</defs>
<rect x="4" y="4" width="252" height="192" rx="20" style="fill:url(#g3)"/>
<!-- motion streaks -->
<path d="M30 70 H70 M24 90 H82 M30 110 H64" style="stroke:var(--brand-500);stroke-width:3;stroke-linecap:round" opacity=".45"/>
<!-- speedometer -->
<circle cx="150" cy="104" r="46" style="fill:var(--midnight-700)" opacity=".92"/>
<path d="M114 128 A46 46 0 0 1 186 128" style="fill:none;stroke:var(--brand-500);stroke-width:6;stroke-linecap:round"/>
<path d="M114 128 A46 46 0 0 1 150 60" style="fill:none;stroke:var(--signal-400);stroke-width:6;stroke-linecap:round"/>
<line x1="150" y1="104" x2="176" y2="82" style="stroke:#fff;stroke-width:3.5;stroke-linecap:round"/>
<circle cx="150" cy="104" r="6" style="fill:#fff"/>
<!-- 30-day badge -->
<circle cx="204" cy="150" r="24" style="fill:var(--signal-400)"/>
<text x="204" y="156" text-anchor="middle" style="fill:var(--midnight-900);font-size:16px;font-weight:800;font-family:sans-serif">30</text>
</svg>
</div>
<div class="frow-text">
<h3 data-i18n="pillars.p3.t"></h3><p data-i18n="pillars.p3.d"></p>
</div>
</div>
</div>
</div>
</section>
<!-- ================= BRANDS WE POWER ================= -->
<section id="brands" style="background:var(--bg-alt);padding:72px 0">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="brands.eyebrow"></div>
<h2 class="sec" style="font-size:clamp(24px,3vw,32px)" data-i18n="brands.title"></h2>
</div>
<div class="brand-logos reveal">
<div class="blogo-card">
<img src="assets/logotripz.png" alt="Tripz">
<span>Tripz — العلامة الرئيسية</span>
</div>
<div class="blogo-card">
<img src="assets/logo_siro.png" alt="Siro">
<span data-i18n="brands.siro"></span>
</div>
<div class="blogo-card">
<img src="assets/intaleq.png" alt="Intalaq">
<span data-i18n="brands.intalaq"></span>
</div>
<div class="blogo-card blogo-more">
<div class="blogo-plus">+</div>
<span data-i18n="brands.next"></span>
</div>
</div>
<p class="brands-note" data-i18n="brands.note"></p>
</div>
</section>
<!-- ================= PRODUCT TABS ================= -->
<section id="product" class="ambient" style="background:var(--bg-alt)">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="prod.eyebrow"></div>
<h2 class="sec" data-i18n="prod.title"></h2>
</div>
<div style="display:flex;justify-content:center"><div class="tabs-nav reveal">
<button class="tab-btn active" data-tab="rider" data-i18n="prod.tab.rider"></button>
<button class="tab-btn" data-tab="driver" data-i18n="prod.tab.driver"></button>
<button class="tab-btn" data-tab="dispatch" data-i18n="prod.tab.dispatch"></button>
<button class="tab-btn" data-tab="hub" data-i18n="prod.tab.hub"></button>
</div></div>
<div class="tab-panel active" data-panel="rider">
<div>
<h3 style="font-size:28px;margin-bottom:10px" data-i18n="prod.rider.h"></h3>
<ul class="feat-list">
<li><span class="ck">✓</span><span data-i18n="prod.rider.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.rider.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.rider.3"></span></li>
</ul>
</div>
<div class="mock-img-wrap">
<img src="assets/mock_rider.png" alt="Tripz Rider App" class="mock-img">
</div>
</div>
<div class="tab-panel" data-panel="driver">
<div>
<h3 style="font-size:28px;margin-bottom:10px" data-i18n="prod.driver.h"></h3>
<ul class="feat-list">
<li><span class="ck">✓</span><span data-i18n="prod.driver.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.driver.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.driver.3"></span></li>
</ul>
</div>
<div class="mock-img-wrap">
<img src="assets/mock_driver.png" alt="Tripz Driver App" class="mock-img">
</div>
</div>
<div class="tab-panel" data-panel="dispatch">
<div>
<h3 style="font-size:28px;margin-bottom:10px" data-i18n="prod.dispatch.h"></h3>
<ul class="feat-list">
<li><span class="ck">✓</span><span data-i18n="prod.dispatch.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.dispatch.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.dispatch.3"></span></li>
</ul>
</div>
<div class="mock-img-wrap">
<img src="assets/mock_dispatch.png" alt="Tripz Dispatch Hub" class="mock-img" onerror="this.src='assets/tripz_dispatch_mockup.png'">
</div>
</div>
<div class="tab-panel" data-panel="hub">
<div>
<h3 style="font-size:28px;margin-bottom:10px" data-i18n="prod.hub.h"></h3>
<ul class="feat-list">
<li><span class="ck">✓</span><span data-i18n="prod.hub.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.hub.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="prod.hub.3"></span></li>
</ul>
</div>
<div class="mock-img-wrap">
<img src="assets/mock_hub.png" alt="Tripz Hub Analytics" class="mock-img">
</div>
</div>
</div>
</section>
<!-- ================= AI MODULES & NABEH INTEGRATION ================= -->
<!-- ================= CALCULATOR ================= -->
<section class="calc grain" id="calc">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" style="color:#8AA0FF" data-i18n="calc.eyebrow"></div>
<h2 class="sec" data-i18n="calc.title"></h2>
<p class="sec-lead" data-i18n="calc.lead"></p>
</div>
<div class="calc-grid reveal">
<div class="calc-panel">
<div class="field">
<label data-i18n="calc.trips"></label>
<input type="range" id="trips" min="50" max="5000" step="50" value="1500">
<div style="display:flex;justify-content:space-between;font-size:12px;color:#7C8DBB;margin-top:6px"><span>50</span><span id="tripsVal" class="num" style="color:#D6DBEE;font-weight:700;font-size:16px">1,500 / day</span><span>5,000</span></div>
</div>
<div class="row2">
<div class="field">
<label data-i18n="calc.fare"></label>
<input type="number" class="txtin num" id="fare" value="2.2" step="0.1" min="0.1">
</div>
<div class="field">
<label data-i18n="calc.currency"></label>
<select id="cur">
<option value="JOD:1.41">JOD — دينار أردني</option>
<option value="EGP:0.021">EGP — جنيه مصري</option>
<option value="SYP:0.00007">SYP — ليرة سورية</option>
<option value="USD:1">USD — دولار</option>
<option value="EUR:1.08">EUR — يورو</option>
<option value="MAD:0.10">MAD — درهم مغربي</option>
<option value="XOF:0.0017">XOF — فرنك غرب أفريقيا</option>
</select>
</div>
</div>
<div class="field" style="margin-bottom:0">
<label data-i18n="calc.plan"></label>
<select id="plan">
<option value="169:0.035:0.05:startup">انطلاقة — $169/mo · 3.5%</option>
<option value="349:0.025:0.04:brand" selected>علامة — $349/mo · 2.5%</option>
<option value="599:0.02:0.03:fleet">أسطول+ — $599/mo · 2%</option>
<option value="879:0.01:0.02:sov">سيادة — $879/mo · 1%</option>
</select>
</div>
</div>
<div class="result">
<div class="cmp-row tripz"><span class="lbl" data-i18n="calc.r.tripz"></span><span class="amt num" id="rTripz">$—</span></div>
<div class="cmp-row rival"><span class="lbl" data-i18n="calc.r.commission"></span><span class="amt num" id="rComm">$—</span></div>
<div class="cmp-row rival"><span class="lbl" data-i18n="calc.r.floor"></span><span class="amt num" id="rFloor">$—</span></div>
<div class="savings" id="savings">
<div class="cap" data-i18n="calc.r.savecap"></div>
<div class="big num" id="saveBig">$—</div>
</div>
<a href="#wa" class="btn btn-wa calc-cta" id="waCalc"><span data-i18n="calc.r.send"></span></a>
</div>
</div>
</div>
</section>
<!-- ================= TIMELINE / HOW ================= -->
<section id="how">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="how.eyebrow"></div>
<h2 class="sec" data-i18n="how.title"></h2>
<p class="sec-lead" data-i18n="how.lead"></p>
</div>
<div class="zig-timeline reveal" id="timeline">
<div class="zig-line"></div><div class="zig-fill" id="tlFill"></div>
<div class="zig-row a"><div class="zig-card"><div class="zig-day" data-i18n="how.s1.d"></div><h3 data-i18n="how.s1.t"></h3><p data-i18n="how.s1.p"></p></div><div class="zig-node">1</div></div>
<div class="zig-row b"><div class="zig-node">2</div><div class="zig-card"><div class="zig-day" data-i18n="how.s2.d"></div><h3 data-i18n="how.s2.t"></h3><p data-i18n="how.s2.p"></p></div></div>
<div class="zig-row a"><div class="zig-card"><div class="zig-day" data-i18n="how.s3.d"></div><h3 data-i18n="how.s3.t"></h3><p data-i18n="how.s3.p"></p></div><div class="zig-node">3</div></div>
<div class="zig-row b"><div class="zig-node">4</div><div class="zig-card"><div class="zig-day" data-i18n="how.s4.d"></div><h3 data-i18n="how.s4.t"></h3><p data-i18n="how.s4.p"></p></div></div>
<div class="zig-row a"><div class="zig-card"><div class="zig-day" data-i18n="how.s5.d"></div><h3 data-i18n="how.s5.t"></h3><p data-i18n="how.s5.p"></p></div><div class="zig-node">5</div></div>
</div>
</div>
</section>
<!-- ================= PRICING ================= -->
<section id="pricing" class="ambient" style="background:var(--bg-alt)">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="price.eyebrow"></div>
<h2 class="sec" data-i18n="price.title"></h2>
<p class="sec-lead" data-i18n="price.lead"></p>
</div>
<div class="toggle-wrap reveal">
<span class="toggle-lbl active" id="lblM" data-i18n="price.monthly"></span>
<button class="toggle" id="billToggle" aria-label="billing"><span class="knob"></span></button>
<span class="toggle-lbl" id="lblY" data-i18n="price.yearly"></span>
<span class="badge-save" data-i18n="price.save15"></span>
</div>
<div class="price-grid">
<!-- Start -->
<div class="plan reveal">
<h3 data-i18n="plan.start.n"></h3>
<div class="price" data-m="169" data-y="144">$169<small>/mo</small></div>
<div class="setup"><span data-i18n="plan.setup"></span> $2,500</div>
<span class="gmv">GMV 3.5% · min $0.05</span>
<ul>
<li><span class="ck">✓</span><span data-i18n="plan.start.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.start.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.start.3"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.start.4"></span></li>
</ul>
<a href="https://wa.me/962798583052" target="_blank" rel="noopener" class="btn btn-ghost" data-i18n="plan.start.cta"></a>
</div>
<!-- Brand featured -->
<div class="plan featured reveal">
<span class="tag" data-i18n="plan.popular"></span>
<h3 data-i18n="plan.brand.n"></h3>
<div class="price" data-m="349" data-y="297">$349<small>/mo</small></div>
<div class="setup"><span data-i18n="plan.setup"></span> $4,900</div>
<span class="gmv">GMV 2.5% · min $0.04</span>
<div class="plan-inherit" data-i18n="plan.brand.0"></div>
<ul>
<li><span class="ck">✓</span><span data-i18n="plan.brand.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.brand.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.brand.3"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.brand.4"></span></li>
</ul>
<a href="https://calendly.com/sefertraveling/30min" target="_blank" rel="noopener" class="btn btn-primary" data-i18n="plan.brand.cta"></a>
</div>
<!-- Fleet -->
<div class="plan reveal">
<h3 data-i18n="plan.fleet.n"></h3>
<div class="price" data-m="599" data-y="509">$599<small>/mo</small></div>
<div class="setup"><span data-i18n="plan.setup"></span> $8,500</div>
<span class="gmv">GMV 2% · min $0.03</span>
<div class="plan-inherit" data-i18n="plan.fleet.0"></div>
<ul>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.3"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.fleet.4"></span></li>
<li><span class="ck">✓</span><span class="plan-incl" data-i18n="plan.fleet.5"></span></li>
</ul>
<a href="https://calendly.com/sefertraveling/30min" target="_blank" rel="noopener" class="btn btn-ghost" data-i18n="plan.brand.cta"></a>
</div>
<!-- Sovereign -->
<div class="plan reveal">
<h3 data-i18n="plan.sov.n"></h3>
<div class="price" data-m="879" data-y="747">$879<small>/mo</small></div>
<div class="setup"><span data-i18n="plan.setup"></span> $13,500+</div>
<span class="gmv">GMV 1% · min $0.02</span>
<div class="plan-inherit" data-i18n="plan.sov.0"></div>
<ul>
<li><span class="ck">✓</span><span data-i18n="plan.sov.1"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.sov.2"></span></li>
<li><span class="ck">✓</span><span data-i18n="plan.sov.3"></span></li>
<li><span class="ck">✓</span><span class="plan-incl" data-i18n="plan.sov.4"></span></li>
</ul>
<a href="https://calendly.com/sefertraveling/30min" target="_blank" rel="noopener" class="btn btn-ghost" data-i18n="plan.sov.cta"></a>
</div>
</div>
<p class="gmv-note" data-i18n="price.gmvnote"></p>
<div class="contract-box reveal">
<div class="ci"><h4>① <span data-i18n="price.c1.t"></span></h4><p data-i18n="price.c1.d"></p></div>
<div class="ci"><h4>② <span data-i18n="price.c2.t"></span></h4><p data-i18n="price.c2.d"></p></div>
<div class="ci"><h4>③ <span data-i18n="price.c3.t"></span></h4><p data-i18n="price.c3.d"></p></div>
</div>
<div class="founder reveal">
<div><strong style="font-size:18px;color:#fff" data-i18n="price.founder.t"></strong><div style="font-size:14px;opacity:.9;margin-top:4px" data-i18n="price.founder.d"></div></div>
<span class="seats"><span data-i18n="price.founder.seats"></span> 3 / 3</span>
</div>
</div>
</section>
<!-- ================= ADD-ONS / MODULES ================= -->
<section id="addons" class="ambient" style="background:var(--bg)">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="addons.eyebrow"></div>
<h2 class="sec" data-i18n="addons.title"></h2>
<p class="sec-lead" data-i18n="addons.lead"></p>
</div>
<!-- ملحق بالنواة: لا يُباع -->
<div class="core-band reveal">
<div class="core-band-head">
<span class="core-lock">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0110 0v4"/></svg>
</span>
<div>
<h3 data-i18n="core.title"></h3>
<p data-i18n="core.lead"></p>
</div>
</div>
<div class="core-items">
<div class="core-item"><b data-i18n="core.i1.t"></b><span data-i18n="core.i1.d"></span></div>
<div class="core-item"><b data-i18n="core.i2.t"></b><span data-i18n="core.i2.d"></span></div>
</div>
</div>
<div class="addons-grid three reveal">
<!-- 1. AI Suite -->
<div class="addon-card">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="addon-ico" style="background:rgba(46,75,255,.15);color:#2E4BFF">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>
</div>
<h3 data-i18n="addons.m1.name"></h3>
<p data-i18n="addons.m1.desc"></p>
<div class="addon-price"><span class="num">$149</span><span data-i18n="addons.m1.period"></span></div>
</div>
<!-- 2. Pricing Intelligence -->
<div class="addon-card featured">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="addon-ico" style="background:rgba(214,219,238,.15);color:#D6DBEE">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 3h18v18H3z" stroke-width="1.5"/><path d="M6 15l4-6 4 3 5-8"/><circle cx="6" cy="16" r="1"/></svg>
</div>
<h3 data-i18n="addons.m2.name"></h3>
<p data-i18n="addons.m2.desc"></p>
<div class="addon-price"><span class="num">$249</span><span data-i18n="addons.m2.period"></span><div class="addon-setup" data-i18n="addons.m2.setup"></div></div>
</div>
<!-- 3. Growth Suite -->
<div class="addon-card">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="addon-ico" style="background:rgba(18,183,106,.15);color:#12B76A">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 6 13.5 15.5 8.5 10.5 1 17"/><polyline points="17 6 23 6 23 12"/></svg>
</div>
<h3 data-i18n="addons.m3.name"></h3>
<p data-i18n="addons.m3.desc"></p>
<div class="addon-price"><span class="num">$129</span><span data-i18n="addons.m3.period"></span></div>
</div>
</div>
<p class="addons-note reveal" data-i18n="addons.note"></p>
</div>
</section>
<!-- ================= TRANSIT (منتج مستقل) ================= -->
<section id="transit" class="transit-sec grain">
<div class="wrap">
<div class="transit-grid reveal">
<div class="transit-text">
<div class="eyebrow" style="color:#8AA0FF" data-i18n="transit.eyebrow"></div>
<h2 class="sec" style="color:#fff" data-i18n="transit.title"></h2>
<p class="sec-lead" style="color:#B7C4E6" data-i18n="transit.lead"></p>
<div class="transit-for">
<span data-i18n="transit.for1"></span>
<span data-i18n="transit.for2"></span>
<span data-i18n="transit.for3"></span>
<span data-i18n="transit.for4"></span>
</div>
<ul class="feat-list" style="margin-bottom:26px">
<li><span class="ck">✓</span><span data-i18n="transit.f1"></span></li>
<li><span class="ck">✓</span><span data-i18n="transit.f2"></span></li>
<li><span class="ck">✓</span><span data-i18n="transit.f3"></span></li>
<li><span class="ck">✓</span><span data-i18n="transit.f4"></span></li>
</ul>
</div>
<div class="transit-card">
<div class="addon-badge available" data-i18n="addon.badge.now"></div>
<div class="transit-price"><span class="num">$299</span><span data-i18n="transit.period"></span></div>
<div class="transit-setup" data-i18n="transit.setup"></div>
<div class="transit-sep"></div>
<p class="transit-note" data-i18n="transit.note"></p>
<a href="https://wa.me/962798583052?text=Transit" target="_blank" rel="noopener" class="btn btn-primary" style="width:100%;justify-content:center" data-i18n="transit.cta"></a>
</div>
</div>
</div>
</section>
<!-- ================= COMPARISON ================= -->
<section id="compare" class="ambient">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="cmp.eyebrow"></div>
<h2 class="sec" data-i18n="cmp.title"></h2>
</div>
<div class="cmp-scroll reveal">
<table class="cmp-table">
<thead><tr>
<th data-i18n="cmp.col.feature"></th>
<th class="us">Tripz<span class="us-badge" data-i18n="cmp.badge"></span></th><th data-i18n="cmp.col.other"></th><th data-i18n="cmp.col.custom"></th>
</tr></thead>
<tbody>
<tr><td data-i18n="cmp.r1"></td><td class="us">$2,500–13,500</td><td>$4,500–23,000</td><td>$150k–500k</td></tr>
<tr><td data-i18n="cmp.r2"></td><td class="us" data-i18n="cmp.r2.us"></td><td data-i18n="cmp.r2.on"></td><td data-i18n="cmp.r2.cu"></td></tr>
<tr><td data-i18n="cmp.r3"></td><td class="us">$0.02–0.05</td><td>$0.10</td><td>—</td></tr>
<tr><td data-i18n="cmp.r4"></td><td class="us yes">✓</td><td class="no">✕</td><td>—</td></tr>
<tr><td data-i18n="cmp.r5"></td><td class="us yes">✓</td><td class="no">✕</td><td class="yes">✓</td></tr>
<tr><td data-i18n="cmp.r6"></td><td class="us yes" data-i18n="cmp.r6.us"></td><td class="no">✕</td><td class="yes">✓</td></tr>
<tr><td data-i18n="cmp.r7"></td><td class="us yes">✓ RTL</td><td data-i18n="cmp.r7.on"></td><td data-i18n="cmp.r7.cu"></td></tr>
</tbody>
</table>
</div>
</div>
</section>
<!-- ================= MARKET LANDSCAPE ================= -->
<section id="landscape" class="ambient" style="background:var(--bg-alt)">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="land.eyebrow"></div>
<h2 class="sec" data-i18n="land.title"></h2>
<p class="sec-lead" data-i18n="land.lead"></p>
</div>
<div class="cmp-scroll reveal">
<table class="cmp-table">
<thead><tr>
<th data-i18n="land.col.platform"></th>
<th data-i18n="land.col.model"></th>
<th data-i18n="land.col.setup"></th>
<th data-i18n="land.col.monthly"></th>
<th data-i18n="land.col.pertrip"></th>
</tr></thead>
<tbody>
<tr>
<td class="us">Tripz<span class="us-badge" data-i18n="cmp.badge"></span></td>
<td class="us" data-i18n="land.m.tripz"></td>
<td class="us">$2,500–13,500</td><td class="us">$169–879</td><td class="us" data-i18n="land.p.tripz"></td>
</tr>
<tr>
<td>المنصات الأجنبية المنافسة</td>
<td data-i18n="land.m.onde"></td>
<td>$4,500–23,000</td>
<td>$299–1,500</td>
<td data-i18n="land.p.onde"></td>
</tr>
<tr>
<td>التطوير المخصص من الصفر</td>
<td>كود مخصص مستقل</td>
<td>$150,000–500,000</td>
<td>صيانة وسيرفرات مستقلة</td>
<td>— (تكلفة رأس مال ضخمة)</td>
</tr>
</tbody>
</table>
</div>
<p class="brands-note" data-i18n="land.note"></p>
</div>
</section>
<!-- ================= CASE STUDY ================= -->
<section class="case ambient" id="case">
<div class="wrap case-grid">
<div class="reveal">
<div class="eyebrow" data-i18n="case.eyebrow"></div>
<h2 class="sec" data-i18n="case.title"></h2>
<p data-i18n="case.p1"></p>
<p data-i18n="case.p2"></p>
<div class="case-stats">
<div class="cs"><div class="n num">2,500</div><div class="l" data-i18n="case.s1"></div></div>
<div class="cs"><div class="n num">6,000</div><div class="l" data-i18n="case.s2"></div></div>
<div class="cs"><div class="n num">3</div><div class="l" data-i18n="case.s3"></div></div>
</div>
<div class="quote"><span data-i18n="case.quote"></span><span class="who" data-i18n="case.who"></span></div>
</div>
<div class="case-visual reveal">
<div class="dash-row"><span data-i18n="case.s1"></span><b class="num">2,500</b></div>
<div class="dash-row"><span data-i18n="case.s2"></span><b class="num">6,000</b></div>
<div class="dash-row"><span data-i18n="case.d4"></span><b>Cairo · Alexandria · Damascus</b></div>
<div class="dash-bars"><span style="height:45%"></span><span style="height:60%"></span><span style="height:52%"></span><span style="height:78%"></span><span style="height:66%"></span><span style="height:90%"></span><span style="height:82%"></span><span style="height:97%"></span></div>
</div>
</div>
</section>
<!-- ================= SECURITY ================= -->
<section class="sec-strip grain" style="padding:56px 0">
<div class="wrap">
<h3 style="color:#fff;font-size:22px" data-i18n="sec.title"></h3>
<div class="badges">
<div class="sbadge"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg><span data-i18n="sec.b1"></span></div>
<div class="sbadge"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg>3-D Secure</div>
<div class="sbadge"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg><span data-i18n="sec.b2"></span></div>
<div class="sbadge"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg><span data-i18n="sec.b3"></span></div>
<div class="sbadge"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg><span data-i18n="sec.b4"></span></div>
</div>
</div>
</section>
<!-- ================= FAQ ================= -->
<section id="faq" class="ambient">
<div class="wrap">
<div class="center reveal">
<div class="eyebrow" data-i18n="faq.eyebrow"></div>
<h2 class="sec" data-i18n="faq.title"></h2>
</div>
<div class="faq-list" id="faqList"></div>
</div>
</section>
<!-- ================= FINAL CTA / REAL APPS ================= -->
<section class="final grain" id="demo">
<div class="wrap">
<h2 data-i18n="final.title"></h2>
<p class="demo-lead" data-i18n="demo.lead"></p>
<div class="store-groups">
<div class="store-group">
<div class="store-group-label" data-i18n="demo.rider"></div>
<div class="store-badges">
<a href="https://apps.apple.com/eg/app/tripz-rider/id6458734951" target="_blank" rel="noopener" class="store-badge">
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M16.7 1.3c0 1.1-.4 2-1.2 2.9-.9 1-2 1.6-3.1 1.5-.1-1.1.4-2.2 1.2-3 .8-.9 2.1-1.5 3.1-1.4zM20.9 17c-.5 1.1-.7 1.6-1.4 2.6-.9 1.4-2.2 3.1-3.8 3.1-1.4 0-1.8-.9-3.7-.9s-2.4.9-3.7.9c-1.6 0-2.8-1.6-3.7-3-2.5-3.9-2.8-8.5-1.2-10.9 1.1-1.7 2.9-2.7 4.6-2.7 1.7 0 2.8 1 4.2 1s2.2-1 4.2-1c1.5 0 3.1.8 4.2 2.2-3.7 2-3.1 7.2.3 8.7z"/></svg>
<span><small data-i18n="demo.appstore"></small><b>Tripz Rider</b></span>
</a>
<a href="https://play.google.com/store/apps/details?id=com.mobileapp.store.ride" target="_blank" rel="noopener" class="store-badge">
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M3.6 2.6c-.4.3-.6.8-.6 1.4v16c0 .6.2 1.1.6 1.4l9-9.4-9-9.4zm10.2 9.9l2.4-2.5 3.9 2.2c.7.4.7 1.4 0 1.8l-3.9 2.2-2.4-2.5-.7.7 2.7 2.9 4.9-2.8c1.4-.8 1.4-2.9 0-3.7l-4.9-2.8-2.7 2.9.7.7zM4.6 3l8.7 8.9-8.7 8.9c-.1-.2-.1-.4-.1-.6V3.6c0-.2 0-.4.1-.6z"/></svg>
<span><small data-i18n="demo.googleplay"></small><b>Tripz Rider</b></span>
</a>
</div>
</div>
<div class="store-group">
<div class="store-group-label" data-i18n="demo.driver"></div>
<div class="store-badges">
<a href="https://apps.apple.com/eg/app/tripz-driver/id6502189302" target="_blank" rel="noopener" class="store-badge">
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M16.7 1.3c0 1.1-.4 2-1.2 2.9-.9 1-2 1.6-3.1 1.5-.1-1.1.4-2.2 1.2-3 .8-.9 2.1-1.5 3.1-1.4zM20.9 17c-.5 1.1-.7 1.6-1.4 2.6-.9 1.4-2.2 3.1-3.8 3.1-1.4 0-1.8-.9-3.7-.9s-2.4.9-3.7.9c-1.6 0-2.8-1.6-3.7-3-2.5-3.9-2.8-8.5-1.2-10.9 1.1-1.7 2.9-2.7 4.6-2.7 1.7 0 2.8 1 4.2 1s2.2-1 4.2-1c1.5 0 3.1.8 4.2 2.2-3.7 2-3.1 7.2.3 8.7z"/></svg>
<span><small data-i18n="demo.appstore"></small><b>Tripz Driver</b></span>
</a>
<a href="https://play.google.com/store/apps/details?id=com.sefer_driver" target="_blank" rel="noopener" class="store-badge">
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M3.6 2.6c-.4.3-.6.8-.6 1.4v16c0 .6.2 1.1.6 1.4l9-9.4-9-9.4zm10.2 9.9l2.4-2.5 3.9 2.2c.7.4.7 1.4 0 1.8l-3.9 2.2-2.4-2.5-.7.7 2.7 2.9 4.9-2.8c1.4-.8 1.4-2.9 0-3.7l-4.9-2.8-2.7 2.9.7.7zM4.6 3l8.7 8.9-8.7 8.9c-.1-.2-.1-.4-.1-.6V3.6c0-.2 0-.4.1-.6z"/></svg>
<span><small data-i18n="demo.googleplay"></small><b>Tripz Driver</b></span>
</a>
</div>
</div>
</div>
<div class="btn-group" style="margin-top:32px">
<a href="https://wa.me/962798583052" target="_blank" rel="noopener" class="btn btn-wa btn-lg" data-i18n="hero.cta2"></a>
</div>
</div>
</section>
<!-- ================= FOOTER ================= -->
<footer class="grain">
<div class="wrap">
<div class="foot-grid">
<div class="foot-brand">
<div class="brand"><span class="brand-badge"><img src="assets/logotripz.png" alt="Tripz"></span></div>
<p data-i18n="foot.tag"></p>
</div>
<div class="foot-col"><h5 data-i18n="foot.product"></h5><a href="#product" data-i18n="prod.tab.rider"></a><a href="#product" data-i18n="prod.tab.driver"></a><a href="#product" data-i18n="prod.tab.dispatch"></a><a href="#product" data-i18n="prod.tab.hub"></a></div>
<div class="foot-col"><h5 data-i18n="foot.solutions"></h5><a href="#" data-i18n="foot.fleets"></a><a href="#" data-i18n="foot.startups"></a><a href="#" data-i18n="plan.sov.n"></a></div>
<div class="foot-col"><h5 data-i18n="foot.resources"></h5><a href="#pricing" data-i18n="nav.pricing"></a><a href="#how" data-i18n="nav.how"></a><a href="#faq" data-i18n="nav.faq"></a><a href="#case" data-i18n="foot.case"></a></div>
<div class="foot-col"><h5 data-i18n="foot.legal"></h5><a href="#" data-i18n="foot.privacy"></a><a href="#" data-i18n="foot.terms"></a><a href="#" data-i18n="foot.dpa"></a></div>
</div>
<div class="foot-bottom">
<span>© 2026 Tripz. <span data-i18n="foot.rights"></span></span>
<span data-i18n="foot.built"></span>
</div>
</div>
</footer>
<a href="https://wa.me/962798583052" target="_blank" rel="noopener" class="wa-float" aria-label="WhatsApp">
<svg width="28" height="28" viewBox="0 0 24 24" fill="#fff"><path d="M12 2a10 10 0 00-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1012 2zm0 18a8 8 0 01-4-1.1l-.3-.2-2.9.8.8-2.8-.2-.3A8 8 0 1112 20zm4.4-6c-.2-.1-1.4-.7-1.6-.8s-.4-.1-.6.1-.6.8-.8.9-.3.2-.6 0a6.5 6.5 0 01-1.9-1.2 7.3 7.3 0 01-1.4-1.7c-.1-.3 0-.4.1-.5l.4-.5.3-.5v-.4l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 00-.7.3 3 3 0 00-.9 2.2 5.2 5.2 0 001.1 2.7 11.8 11.8 0 004.5 4c.6.2 1.1.4 1.5.5.6.2 1.2.2 1.6.1.5-.1 1.4-.6 1.6-1.1s.2-1 .1-1.1z"/></svg>
</a>
<!-- ================= CONSENT ================= -->
<div class="consent" id="consent" role="dialog" aria-live="polite">
<h4 data-i18n="consent.t"></h4>
<p data-i18n="consent.d"></p>
<div class="consent-btns">
<button class="btn btn-primary" id="consentYes" data-i18n="consent.yes"></button>
<button class="btn btn-ghost" id="consentNo" data-i18n="consent.no"></button>
</div>
</div>
<script>
/* ============ i18n DICTIONARY (ar default · en · fr · es) ============ */
const I18N = {
ar:{
"nav.product":"المنتج","nav.addons":"الإضافات","nav.savings":"حاسبة التوفير","nav.pricing":"التسعير","nav.how":"كيف نطلق","nav.faq":"الأسئلة","nav.demo":"جرّب الديمو",
"hero.title":"أطلق تطبيق النقل [بعلامتك] — خلال 30 يوماً، وبياناتك تبقى لك.",
"hero.sub":"تطبيقا راكب وسائق على المتجرين، لوحة تحكم وdispatch — بنسبة معلنة على الموقع وعقد يضمن تصدير بياناتك في أي وقت.",
"hero.cta1":"جرّب الديمو الحي","hero.cta2":"تحدّث معنا على واتساب","hero.trust":"بلا بطاقة ائتمانية · ديمو فوري بلا مكالمة مبيعات","hero.scroll":"اكتشف المزيد",
"ph.rider.eta":"وقت الوصول","ph.min":"دقائق","ph.rider.class":"اقتصادي","ph.rider.chip":"سعر مؤكد قبل الطلب","ph.rider.btn":"اطلب الآن",
"ph.driver.today":"أرباح اليوم","ph.driver.new":"طلب جديد","ph.driver.fare":"الأجرة","ph.driver.accept":"قبول",
"stat.since":"يشغّل رحلات حقيقية","stat.min":"الحد الأدنى للرحلة — الأدنى بالفئة","stat.days":"يوماً","stat.launch":"من العقد إلى المتجرين","stat.lang":"لغات بـRTL أصيل",
"pillars.eyebrow":"لماذا Tripz","pillars.title":"مقلوبٌ عن كل ما يؤلمك في المنافس","pillars.lead":"ثلاث ثغرات في السوق حوّلناها إلى وعودٍ مكتوبة في عقدك.",
"pillars.p1.t":"بياناتك سيادتك","pillars.p1.d":"تصدير كامل في أي وقت، فترة انتقال 60 يوماً مكتوبة في العقد، وخيار نشر داخل بلدك.",
"pillars.p2.t":"تكلفة بلا مفاجآت","pillars.p2.d":"النسبة معلنة هنا في صفحة التسعير. لا فاتورة خرائط مخفية، ولا حد أدنى $0.10.",
"pillars.p3.t":"أسرع من أن تتردد","pillars.p3.d":"نظام مجرّب يشغّل رحلات منذ 2019 — لا نبنيه من الصفر: نلبسه علامتك ونطلقه خلال 30 يوماً.",
"brands.eyebrow":"العلامات التي ندير تشغيلها اليوم","brands.title":"نفس المنصة، بعلامات مختلفة — بالضبط كما ستبدو علامتك","brands.siro":"سيرو — مصر والأردن","brands.intalaq":"انطلق — سوريا","brands.next":"علامتك القادمة","brands.note":"كل علامة تطبيق وواجهة إدارة مستقلة بالكامل، فوق نفس النواة التقنية الواحدة.",
"prod.eyebrow":"المنصة","prod.title":"أربعة مكونات، نظام واحد","prod.tab.rider":"تطبيق الراكب","prod.tab.driver":"تطبيق السائق","prod.tab.dispatch":"لوحة الموزّع","prod.tab.hub":"My Hub",
"prod.rider.h":"يطلب، يرى السعر، يتتبّع","prod.rider.1":"طلب بعرض أسعار الفئات قبل التأكيد","prod.rider.2":"تتبّع حي للسائق أثناء الرحلة","prod.rider.3":"دفع كاش ومحفظة إلكترونية","prod.rider.m1":"السعر المؤكد","prod.rider.m2":"وقت الوصول",
"prod.driver.h":"محفظة، اشتراكات، أرباح لحظية","prod.driver.1":"محفظة واشتراكات مرنة (90 / 180 / 360 يوماً)","prod.driver.2":"خريطة طلب واضحة بمسافة وأجرة","prod.driver.3":"أرباح لحظية وسجل رحلات","prod.driver.m1":"أرباح اليوم","prod.driver.m2":"الاشتراك","prod.driver.m3":"الطلب القادم",
"prod.dispatch.h":"إسناد يدوي وآلي وخريطة حية","prod.dispatch.1":"إسناد الطلبات يدوياً أو آلياً","prod.dispatch.2":"خريطة الأسطول الحية لكل المركبات","prod.dispatch.3":"حجوزات هاتفية للركاب دون تطبيق","prod.dispatch.m1":"مركبات نشطة",
"prod.hub.h":"التعرفة، التقارير، السائقون","prod.hub.1":"محرك تعرفة كامل بالفئات والنوافذ الزمنية","prod.hub.2":"تقارير ومالية شفافة بالكامل","prod.hub.3":"إدارة السائقين ووثائقهم بفحص ذكاء اصطناعي","prod.hub.m1":"رحلات الشهر","prod.hub.m2":"إجمالي GMV",
"calc.eyebrow":"أداة البيع الصامت","calc.title":"كم ستوفّر مع Tripz؟ احسبها بنفسك.","calc.lead":"حرّك رحلاتك اليومية ومتوسط الأجرة — وقارن فاتورتنا لحظياً بنموذج العمولة 15% وبحد المنافس الأدنى.",
"calc.trips":"عدد الرحلات يومياً","calc.fare":"متوسط الأجرة","calc.currency":"العملة","calc.plan":"الباقة",
"calc.r.tripz":"فاتورة Tripz الشهرية","calc.r.commission":"نموذج عمولة 15%","calc.r.floor":"نموذج بحد أدنى $0.10/رحلة","calc.r.savecap":"توفيرك السنوي مع Tripz","calc.r.send":"أرسل هذه الحسبة على واتساب",
"how.eyebrow":"رحلة الإطلاق","how.title":"من العقد إلى المتجرين خلال 30 يوماً","how.lead":"خمس مراحل واضحة، بإشرافنا المباشر، وبلا يوم توقف واحد إن كنت تعمل بنظام قديم.",
"how.s1.d":"يوم 1–3","how.s1.t":"دراسة النطاق","how.s1.p":"نحدد معك المدينة والفئات والتعرفة واللغات والعملات.",
"how.s2.d":"يوم 4–7","how.s2.t":"الأصول والتراخيص","how.s2.p":"ترسل الشعار والألوان وحسابات المطوّر، ونجهّز الهوية البصرية.",
"how.s3.d":"يوم 8–14","how.s3.t":"البناء والترحيل","how.s3.p":"نبني نسختك، نربط الدفع والرسائل، ونرحّل سائقيك وأرصدتهم بلا انقطاع.",
"how.s4.d":"يوم 15–21","how.s4.t":"الاختبار الميداني","how.s4.p":"نشر على TestFlight ومسار Beta وتجربة معك على الأرض.",
"how.s5.d":"يوم 22–30","how.s5.t":"الإطلاق الحي","how.s5.p":"مراجعة المتاجر والموافقة، ثم الإطلاق الحي بإشرافنا المباشر.",
"price.eyebrow":"تسعير علني بالكامل","price.title":"نعم — أسعارنا كلها هنا. علناً.","price.lead":"وجود صفحة تسعير كاملة وحده تمايزٌ في سوق يعتمد الغموض. اختر باقتك، وارتقِ متى شئت.",
"price.monthly":"شهري","price.yearly":"سنوي","price.save15":"وفّر 15%","plan.setup":"الإعداد:","plan.popular":"الأكثر اختياراً",
"plan.start.n":"انطلاقة","plan.start.1":"مدينتك مُدرجة داخل تطبيق Tripz الجامع — بلا تطبيق خاص بشعارك بعد","plan.start.2":"لوحة تحكم و dispatch أساسي","plan.start.3":"محرك تعرفة كامل بحزمة بلدك (نفس محرك الباقات الأعلى)","plan.start.4":"سقف تجريبي: 90 يوماً أو 10,000 رحلة، ثم ترقية","plan.start.cta":"ابدأ الآن",
"plan.brand.n":"علامة","plan.brand.0":"↳ كل مزايا انطلاقة، إضافة إلى:","plan.brand.1":"تطبيقا راكب+سائق خاصّان بعلامتك على المتجرين — لا مشاركة مع مستأجرين آخرين","plan.brand.2":"نشر ومراجعة المتجرين نتولاها بالكامل","plan.brand.3":"بلا سقف رحلات أو زمن","plan.brand.4":"دعم عربي مباشر + مدير حساب مخصص","plan.brand.cta":"احجز إطلاقك",
"plan.fleet.n":"أسطول+","plan.fleet.0":"↳ كل مزايا علامة، إضافة إلى:","plan.fleet.1":"Dispatch متقدم بتخصيص مناطق وشرائح سائقين","plan.fleet.2":"بوابة حجز للشركات (B2B) + حجز عبر الويب","plan.fleet.3":"محافظ وائتمان مخصّصة للسائقين","plan.fleet.4":"API + Webhooks + تقارير تشغيلية متقدمة","plan.fleet.5":"★ «ذكاء الأسطول» مشمول: خريطة حرارية + طلب تنبؤي + تقارير صحة",
"plan.sov.n":"سيادة","plan.sov.0":"↳ كل مزايا أسطول+، إضافة إلى:","plan.sov.1":"سيرفر معزول بالكامل داخل حدود دولتك","plan.sov.2":"واجهة تقارير للمنظّم + SLA 99.9%","plan.sov.3":"ضمان تصدير كامل + خيار Escrow","plan.sov.4":"★ الوحدات المدفوعة الثلاث + المواصلات مشمولة بالكامل (قيمة $826/شهر)","plan.sov.cta":"كلّم فريق المؤسسات",
"price.gmvnote":"نِسب GMV تنازلية: كلما كبر حجم أعمالك، صغرت نسبتنا. (علامة: 2.5% حتى $50k · 2% حتى $200k · 1.5% فوقها)",
"price.c1.t":"نسبة معلنة","price.c1.d":"مكتوبة ومثبتة في العقد — لا مفاجآت.","price.c2.t":"تصدير بياناتك","price.c2.d":"بياناتك كاملة، قابلة للتصدير في أي وقت.","price.c3.t":"خروج كريم","price.c3.d":"إن غادرت: فترة انتقال 60 يوماً بدل القطع الفوري.",
"price.founder.t":"برنامج الشريك المؤسِّس","price.founder.d":"أول 3 مشغّلين: إعداد مجاني مقابل نقطة مئوية إضافية لسنة + دراسة حالة باسمك.","price.founder.seats":"المقاعد المتبقية",
"consent.t":"نقيس ما ينفعك — بعد إذنك","consent.d":"نستخدم قياساً إعلانياً لمعرفة أي إعلان أوصلك إلينا. لا نجمع اسمك ولا رقمك، ويمكنك الرفض والاستمرار في تصفّح الموقع كاملاً.","consent.yes":"أوافق","consent.no":"أرفض\u200f",
"addons.eyebrow":"قابلة للتركيب","addons.title":"ثلاث وحدات مدفوعة — لا أكثر","addons.lead":"الأمان والمدفوعات لا تُباع عندنا: مشمولة في كل باقة. ما يُباع هو ما يزيد أرباحك فعلاً.",
"addon.badge.now":"متاح الآن","addon.badge.soon":"قريباً الربع القادم",
"core.title":"مشمول في كل باقة — ولا يُباع كإضافة أبداً","core.lead":"مشغّل بلا زر طوارئ أو بلا بوابة دفع ليس منتجاً ناقصاً — هو منتج لا يعمل. لذلك لا نسعّر هذين.",
"core.i1.t":"الأمان والامتثال","core.i1.d":"زر الطوارئ · كشف الاحتيال · تأمين السائق · فحص الوثائق بالذكاء الاصطناعي · تقارير المنظّم",
"core.i2.t":"المدفوعات المحلية","core.i2.d":"PayMob · CliQ · سيرياتيل وMTN كاش · شام كاش · المحافظ وطلبات السحب",
"addons.m1.name":"حزمة الذكاء الاصطناعي","addons.m1.desc":"تدقيق الشكاوى آلياً، مستشار تشغيلي أسبوعي، تسوية المدفوعات من رسائل المزوّد — موظفك الذي لا ينام.","addons.m1.period":"/شهر",
"addons.m2.name":"استخبارات التسعير","addons.m2.desc":"محرّك إحصائي يستخرج معادلة تسعير سوقك ومرونة الطلب فيه، ويضبط تعرفتك عليها آلياً. تغيير 5% في السعر يغيّر أرباحك 30% — هذه الوحدة تقرّر الـ5% بالبيانات لا بالحدس.","addons.m2.period":"/شهر","addons.m2.setup":"إعداد $1,000 — ضبط السوق المحلي",
"addons.m3.name":"حزمة النمو","addons.m3.desc":"إعادة تنشيط الركاب الخاملين، حملات واتساب، تلعيب وتحديات وإحالات — راكب عاد أرخص 10 مرات من راكب جديد.","addons.m3.period":"/شهر",
"addons.note":"«ذكاء الأسطول» (الخريطة الحرارية والطلب التنبؤي وتقارير الصحة) لم يعد يُباع منفصلاً — صار جزءاً أصيلاً من باقة «أسطول+».",
"transit.eyebrow":"خط منتج مستقل","transit.title":"المواصلات العامة — الباصات على نفس المنصة","transit.lead":"ليست إضافة على تطبيق تكسي. جمهورها مختلف كلياً، وتُشترى لأنك تدير شبكة نقل جماعي — بقمع بيع ومواصفات وعقد مستقلين.",
"transit.for1":"بلديات","transit.for2":"جامعات","transit.for3":"نقل موظفين","transit.for4":"مدارس",
"transit.f1":"خطوط ومواقيت وتتبّع مباشر لكل باص","transit.f2":"تسجيل ركاب ومشتركين واشتراكات شهرية","transit.f3":"تنبيه اقتراب الباص + بث للمجموعات","transit.f4":"لوحة مشرف مستقلة وتقارير الالتزام بالمواعيد",
"transit.period":"/شهر","transit.setup":"إعداد $2,500 — يشمل رسم الخطوط والمواقيت","transit.note":"مشمولة بالكامل في باقة «سيادة». تُضاف بسعرها فوق أي باقة أخرى.","transit.cta":"احجز عرضاً للمواصلات",
"cmp.eyebrow":"المقارنة الصريحة","cmp.title":"Tripz مقابل البدائل","cmp.col.feature":"المعيار","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"تطوير مخصص","cmp.badge":"الأفضل قيمة",
"land.eyebrow":"أين يقف السوق","land.title":"المشهد السعري للقطاع","land.lead":"مقارنة نموذج Tripz النزيه والأشمل مقابل المنصات الأجنبية المنافسة والتطوير المخصص.",
"land.col.platform":"الخيار / المنصة","land.col.model":"النموذج والتسويق","land.col.setup":"رسوم الإعداد","land.col.monthly":"الاشتراك الشهري","land.col.pertrip":"عمولة الرحلة",
"land.m.tripz":"علني ومعلن بالكامل + AI","land.m.onde":"نموذج غير معلن + رسوم غير شفافة",
"land.p.tripz":"من $0.02 · نسبة معلنة","land.p.onde":"$0.10+ · حد أدنى سرّي",
"land.note":"المقارنة مبنية على معايير السوق العالمية (2026). Tripz تنشر كامل أسعارها بنزاهة وتتيح استكشاف البيانات وإدماج منصة نبيّه.",
"cmp.r1":"تكلفة البدء","cmp.r2":"الزمن حتى الإطلاق","cmp.r2.us":"30 يوماً","cmp.r2.on":"أسابيع–أشهر","cmp.r2.cu":"9–18 شهراً",
"cmp.r3":"الحد الأدنى للرحلة","cmp.r4":"النسبة معلنة؟","cmp.r5":"تصدير البيانات مضمون بالعقد","cmp.r6":"استضافة داخل بلدك","cmp.r6.us":"✓ سيادة","cmp.r7":"دعم عربي أصيل","cmp.r7.on":"جزئي","cmp.r7.cu":"حسب المطوّر",
"case.eyebrow":"دراسة حالة","case.title":"قبل أن نبيعه لغيرنا، شغّلنا به شركتنا","case.p1":"«سيرو» هو تطبيق النقل الذي أدرناه بأنفسنا في السوق منذ 2019. كل ميزة في Tripz خرجت من تشغيلٍ حقيقي، لا من لوح أبيض.",
"case.p2":"حوّلناه إلى منصة سحابية متعددة المستأجرين حتى يحصل كل مشغّل على النظام نفسه — مجرّباً — تحت علامته هو. اليوم يعمل في القاهرة والإسكندرية ودمشق.","case.s1":"رحلة/شهر","case.s2":"سائق نشط","case.s3":"مدن",
"case.quote":"«لم نبنِ عرضاً تقديمياً؛ بنينا شركة تعمل، ثم فتحناها للمشغّلين.»","case.who":"— مؤسّس Tripz",
"case.d1":"رحلات الشهر","case.d2":"إجمالي GMV","case.d3":"النسبة الفعلية","case.d4":"المدن الحية",
"sec.title":"أمان بمعايير عالمية، وامتثال واضح","sec.b1":"دفع عبر شركاء PCI DSS (Paymob) — لا تمر بطاقةٌ بخوادمنا","sec.b2":"تشفير TLS كامل","sec.b3":"نسخ احتياطي يومي","sec.b4":"اتفاقية معالجة بيانات واضحة",
"faq.eyebrow":"بصراحة","faq.title":"الأسئلة التي يتهرّب منها غيرنا",
"final.title":"مدينتك تنتظر تطبيقها. ابدأ اليوم.",
"demo.lead":"هذا ليس عرضاً تقديمياً — هذان تطبيقا Tripz الحقيقيان، يعملان على المتجرين الآن.","demo.rider":"تطبيق الراكب","demo.driver":"تطبيق السائق","demo.appstore":"App Store","demo.googleplay":"Google Play",
"foot.tag":"منصة النقل الذكي كخدمة — أطلق تطبيقك بعلامتك، وبياناتك تبقى لك.","foot.product":"المنتج","foot.solutions":"الحلول","foot.fleets":"مكاتب وأساطيل التكسي","foot.startups":"رواد الأعمال والأسواق الناشئة","foot.resources":"الموارد","foot.case":"دراسة الحالة","foot.legal":"القانوني","foot.privacy":"الخصوصية","foot.terms":"الشروط","foot.dpa":"اتفاقية معالجة البيانات","foot.rights":"جميع الحقوق محفوظة.","foot.built":"صُمِّم للأسواق العربية والناشئة."
},
en:{
"nav.product":"Product","nav.addons":"Add-ons","nav.savings":"Savings","nav.pricing":"Pricing","nav.how":"How we launch","nav.faq":"FAQ","nav.demo":"Try demo",
"hero.title":"Launch ride-hailing [under your brand] — live in 30 days, your data stays yours.",
"hero.sub":"Rider & driver apps on both stores, an admin panel and dispatch — with pricing published right here and a contract that guarantees data export, anytime.",
"hero.cta1":"Try the live demo","hero.cta2":"Chat with us on WhatsApp","hero.trust":"No credit card · Instant demo, no sales call","hero.scroll":"Discover more",
"ph.rider.eta":"ETA","ph.min":"min","ph.rider.class":"Economy","ph.rider.chip":"Fare confirmed before you book","ph.rider.btn":"Request now",
"ph.driver.today":"Today's earnings","ph.driver.new":"New request","ph.driver.fare":"Fare","ph.driver.accept":"Accept",
"stat.since":"Running real trips","stat.min":"Per-trip floor — lowest in class","stat.days":"days","stat.launch":"from contract to both stores","stat.lang":"languages, true RTL",
"pillars.eyebrow":"Why Tripz","pillars.title":"The inverse of everything that hurts about the incumbent","pillars.lead":"Three market gaps we turned into promises written into your contract.",
"pillars.p1.t":"Your data, your sovereignty","pillars.p1.d":"Full export anytime, a 60-day transition period in the contract, and the option to host inside your own country.",
"pillars.p2.t":"Cost with no surprises","pillars.p2.d":"The rate is published right here on the pricing page. No hidden maps bill, no $0.10 floor.",
"pillars.p3.t":"Too fast to hesitate","pillars.p3.d":"A proven system running real trips since 2019 — we don't build from scratch: we wrap it in your brand and launch in 30 days.",
"brands.eyebrow":"Brands we run today","brands.title":"Same platform, different brands — exactly how yours will look","brands.siro":"Siro — Egypt & Jordan","brands.intalaq":"Intalaq — Syria","brands.next":"Your brand next","brands.note":"Each brand gets a fully independent app and admin identity, on top of the same core engine.",
"prod.eyebrow":"The platform","prod.title":"Four components, one system","prod.tab.rider":"Rider app","prod.tab.driver":"Driver app","prod.tab.dispatch":"Dispatch","prod.tab.hub":"My Hub",
"prod.rider.h":"Request, see the price, track","prod.rider.1":"Request with per-class fare quotes before confirming","prod.rider.2":"Live driver tracking during the trip","prod.rider.3":"Cash payment and e-wallet","prod.rider.m1":"Confirmed fare","prod.rider.m2":"ETA",
"prod.driver.h":"Wallet, subscriptions, live earnings","prod.driver.1":"Wallet & flexible subscriptions (90 / 180 / 360 days)","prod.driver.2":"Clear request map with distance & fare","prod.driver.3":"Live earnings and trip history","prod.driver.m1":"Today's earnings","prod.driver.m2":"Subscription","prod.driver.m3":"Next request",
"prod.dispatch.h":"Manual & auto assign, live map","prod.dispatch.1":"Assign requests manually or automatically","prod.dispatch.2":"Live fleet map of every vehicle","prod.dispatch.3":"Phone bookings for riders without the app","prod.dispatch.m1":"Active vehicles",
"prod.hub.h":"Tariffs, reports, drivers","prod.hub.1":"Full tariff engine with classes & time windows","prod.hub.2":"Fully transparent reports & finance","prod.hub.3":"Driver & document management with AI verification","prod.hub.m1":"Monthly trips","prod.hub.m2":"Total GMV",
"calc.eyebrow":"The silent sales tool","calc.title":"How much would you save with Tripz? Do the math.","calc.lead":"Slide your daily trips and average fare — and compare our bill instantly against a 15% commission model and the incumbent's floor.",
"calc.trips":"Trips per day","calc.fare":"Average fare","calc.currency":"Currency","calc.plan":"Plan",
"calc.r.tripz":"Tripz monthly bill","calc.r.commission":"15% commission model","calc.r.floor":"Model with $0.10/trip floor","calc.r.savecap":"Your yearly savings with Tripz","calc.r.send":"Send this to us on WhatsApp",
"how.eyebrow":"The launch journey","how.title":"From contract to both stores in 30 days","how.lead":"Five clear stages, under our direct supervision, with zero downtime if you're on a legacy system.",
"how.s1.d":"Day 1–3","how.s1.t":"Scoping","how.s1.p":"We define your city, classes, tariff, languages and currencies together.",
"how.s2.d":"Day 4–7","how.s2.t":"Assets & licenses","how.s2.p":"You send the logo, colors and developer accounts; we prepare the visual identity.",
"how.s3.d":"Day 8–14","how.s3.t":"Build & migration","how.s3.p":"We build your instance, connect payment & SMS, and migrate your drivers and balances with no downtime.",
"how.s4.d":"Day 15–21","how.s4.t":"Field testing","how.s4.p":"Deploy to TestFlight and a Beta track and test with you on the ground.",
"how.s5.d":"Day 22–30","how.s5.t":"Go live","how.s5.p":"Store review and approval, then go live under our direct supervision.",
"price.eyebrow":"Fully public pricing","price.title":"Yes — all our prices are right here. Publicly.","price.lead":"A complete pricing page is itself a differentiator in a market built on ambiguity. Pick your plan, upgrade whenever.",
"price.monthly":"Monthly","price.yearly":"Yearly","price.save15":"Save 15%","plan.setup":"Setup:","plan.popular":"Most chosen",
"plan.start.n":"Startup","plan.start.1":"Your city listed inside the shared Tripz app — no branded app of your own yet","plan.start.2":"Admin panel & basic dispatch","plan.start.3":"Full tariff engine with your country pack (same engine as paid tiers)","plan.start.4":"Trial cap: 90 days or 10,000 trips, then upgrade","plan.start.cta":"Get started",
"plan.brand.n":"Brand","plan.brand.0":"↳ Everything in Startup, plus:","plan.brand.1":"Your own Rider + Driver apps on both stores — not shared with other tenants","plan.brand.2":"We handle store publishing & review end-to-end","plan.brand.3":"No trip or time cap","plan.brand.4":"Direct Arabic support + a dedicated account manager","plan.brand.cta":"Book your launch",
"plan.fleet.n":"Fleet+","plan.fleet.0":"↳ Everything in Brand, plus:","plan.fleet.1":"Advanced dispatch with zone assignment and driver tiers","plan.fleet.2":"Corporate (B2B) booking portal + web booking","plan.fleet.3":"Dedicated driver wallets & credit","plan.fleet.4":"API + Webhooks + advanced operational reports","plan.fleet.5":"★ Fleet Intelligence included: heatmap + predictive demand + health reports",
"plan.sov.n":"Sovereign","plan.sov.0":"↳ Everything in Fleet+, plus:","plan.sov.1":"Fully isolated server inside your own country's borders","plan.sov.2":"Regulator reporting interface + 99.9% SLA","plan.sov.3":"Full data export guarantee + Escrow option","plan.sov.4":"★ All three paid modules + Transit fully included ($826/mo of value)","plan.sov.cta":"Talk to enterprise",
"price.gmvnote":"Descending GMV rates: the bigger you get, the smaller our cut. (Brand: 2.5% up to $50k · 2% up to $200k · 1.5% above)",
"price.c1.t":"Published rate","price.c1.d":"Written and fixed in the contract — no surprises.","price.c2.t":"Export your data","price.c2.d":"All your data, exportable at any time.","price.c3.t":"Graceful exit","price.c3.d":"If you leave: a 60-day transition instead of an instant cut-off.",
"price.founder.t":"Founding Partner program","price.founder.d":"First 3 operators: free setup for +1 percentage point for a year + a named case study.","price.founder.seats":"Seats left",
"consent.t":"We measure what helps you — with your permission","consent.d":"We use advertising measurement to learn which ad brought you here. We do not collect your name or number, and you can decline and still use the whole site.","consent.yes":"Accept","consent.no":"Decline",
"addons.eyebrow":"Composable","addons.title":"Three paid modules — and no more","addons.lead":"We don't sell safety or payments: they're in every plan. What we sell is what actually grows your margin.",
"addon.badge.now":"Available now","addon.badge.soon":"Coming next quarter",
"core.title":"In every plan — never sold as an add-on","core.lead":"An operator without a panic button or without a payment gateway isn't a lesser product — it's a product that doesn't work. So we don't price these.",
"core.i1.t":"Trust & Safety","core.i1.d":"Panic button · fraud detection · driver assurance · AI document verification · regulator reports",
"core.i2.t":"Local payments","core.i2.d":"PayMob · CliQ · SyriaTel & MTN Cash · Sham Cash · wallets and payout requests",
"addons.m1.name":"AI Suite","addons.m1.desc":"Automated complaint triage, weekly operations advisor, payment reconciliation from provider SMS — your employee who never sleeps.","addons.m1.period":"/month",
"addons.m2.name":"Pricing Intelligence","addons.m2.desc":"A statistical engine that derives your market's pricing formula and demand elasticity, then tunes your tariff to it automatically. A 5% price change moves profit by 30% — this module decides that 5% from data, not instinct.","addons.m2.period":"/month","addons.m2.setup":"Setup $1,000 — local market calibration",
"addons.m3.name":"Growth Suite","addons.m3.desc":"Re-engage idle riders, WhatsApp campaigns, gamification, challenges and referrals — a returning rider costs 10× less than a new one.","addons.m3.period":"/month",
"addons.note":"Fleet Intelligence (heatmap, predictive demand, health reports) is no longer sold separately — it is now built into the Fleet+ plan.",
"transit.eyebrow":"A separate product line","transit.title":"Public transit — buses on the same platform","transit.lead":"Not an add-on to a taxi app. A completely different buyer, bought because you run a mass-transit network — with its own funnel, spec and contract.",
"transit.for1":"Municipalities","transit.for2":"Universities","transit.for3":"Staff transport","transit.for4":"Schools",
"transit.f1":"Lines, schedules and live tracking for every bus","transit.f2":"Rider and subscriber registration with monthly passes","transit.f3":"Bus-approaching alerts + group broadcasts","transit.f4":"Standalone supervisor dashboard and on-time reports",
"transit.period":"/month","transit.setup":"Setup $2,500 — includes route and schedule mapping","transit.note":"Fully included in the Sovereign plan. Added at list price on top of any other plan.","transit.cta":"Book a transit demo",
"cmp.eyebrow":"The honest comparison","cmp.title":"Tripz vs the alternatives","cmp.col.feature":"Criterion","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"Custom build","cmp.badge":"Best value",
"land.eyebrow":"Where the market stands","land.title":"The sector's pricing landscape","land.lead":"Global ride-hailing platforms' pricing, public from their own sites — with Tripz the most transparent and the lowest per-trip floor.",
"land.col.platform":"Platform","land.col.model":"Model","land.col.setup":"Setup","land.col.monthly":"Monthly","land.col.pertrip":"Per trip",
"land.m.tripz":"Fully public & published","land.m.onde":"Hybrid + opaque","land.m.yelow":"Monthly subscription","land.m.vivo":"One-time code license","land.m.zoy":"Subscription + per-trip","land.m.cab":"Flat by fleet size",
"land.p.tripz":"From $0.02 · rate published","land.p.onde":"$0.10 · secret rate","land.p.zoy":"$0.10 after 600 trips","land.p.cabm":"By fleet","land.p.cab":"No commission",
"land.note":"Figures from each provider's public pages (2026), subject to change. Tripz is the only one that publishes its full rate.",
"cmp.r1":"Startup cost","cmp.r2":"Time to launch","cmp.r2.us":"30 days","cmp.r2.on":"Weeks–months","cmp.r2.cu":"9–18 months",
"cmp.r3":"Per-trip floor","cmp.r4":"Rate published?","cmp.r5":"Data export guaranteed in contract","cmp.r6":"Host inside your country","cmp.r6.us":"✓ Sovereign","cmp.r7":"True Arabic support","cmp.r7.on":"Partial","cmp.r7.cu":"Depends on dev",
"case.eyebrow":"Case study","case.title":"Before we sold it to others, we ran our own company on it","case.p1":"“Siro” is the ride-hailing app we ran ourselves in the market since 2019. Every feature in Tripz came out of real operations, not a whiteboard.",
"case.p2":"We turned it into a multi-tenant cloud platform so every operator gets the same — battle-tested — system under their own brand. Today it runs in Cairo, Alexandria and Damascus.","case.s1":"trips/month","case.s2":"active drivers","case.s3":"cities",
"case.quote":"“We didn't build a pitch deck; we built a company that works, then opened it to operators.”","case.who":"— Founder, Tripz",
"case.d1":"Monthly trips","case.d2":"Total GMV","case.d3":"Effective rate","case.d4":"Live cities",
"sec.title":"World-class security, clear compliance","sec.b1":"Payments via PCI DSS partners (Paymob) — no card touches our servers","sec.b2":"Full TLS encryption","sec.b3":"Daily backups","sec.b4":"Clear data processing agreement",
"faq.eyebrow":"Straight answers","faq.title":"The questions others dodge",
"final.title":"Your city is waiting for its app. Start today.",
"demo.lead":"This isn't a pitch — these are the real Tripz apps, live on both stores right now.","demo.rider":"Rider app","demo.driver":"Driver app","demo.appstore":"App Store","demo.googleplay":"Google Play",
"foot.tag":"Ride-hailing SaaS — launch your app under your brand, and your data stays yours.","foot.product":"Product","foot.solutions":"Solutions","foot.fleets":"Taxi offices & fleets","foot.startups":"Founders & emerging markets","foot.resources":"Resources","foot.case":"Case study","foot.legal":"Legal","foot.privacy":"Privacy","foot.terms":"Terms","foot.dpa":"Data Processing Agreement","foot.rights":"All rights reserved.","foot.built":"Built for Arabic & emerging markets."
},
fr:{
"nav.product":"Produit","nav.addons":"Modules","nav.savings":"Économies","nav.pricing":"Tarifs","nav.how":"Notre lancement","nav.faq":"FAQ","nav.demo":"Essayer la démo",
"hero.title":"Lancez votre plateforme VTC [sous votre marque] — en 30 jours, vos données restent les vôtres.",
"hero.sub":"Applications passager et chauffeur sur les deux stores, un tableau de bord et un dispatch — avec des tarifs publiés ici même et un contrat qui garantit l'export de vos données, à tout moment.",
"hero.cta1":"Essayer la démo en direct","hero.cta2":"Discuter sur WhatsApp","hero.trust":"Sans carte bancaire · Démo instantanée, sans appel commercial","hero.scroll":"Découvrir plus",
"ph.rider.eta":"Arrivée","ph.min":"min","ph.rider.class":"Éco","ph.rider.chip":"Tarif confirmé avant réservation","ph.rider.btn":"Commander",
"ph.driver.today":"Gains du jour","ph.driver.new":"Nouvelle demande","ph.driver.fare":"Tarif","ph.driver.accept":"Accepter",
"stat.since":"Des trajets réels depuis","stat.min":"Plancher par trajet — le plus bas","stat.days":"jours","stat.launch":"du contrat aux deux stores","stat.lang":"langues, RTL authentique",
"pillars.eyebrow":"Pourquoi Tripz","pillars.title":"L'inverse de tout ce qui fait mal chez le leader","pillars.lead":"Trois failles du marché transformées en promesses inscrites dans votre contrat.",
"pillars.p1.t":"Vos données, votre souveraineté","pillars.p1.d":"Export complet à tout moment, période de transition de 60 jours dans le contrat, et option d'hébergement dans votre pays.",
"pillars.p2.t":"Un coût sans surprises","pillars.p2.d":"Le taux est publié ici sur la page tarifs. Pas de facture cartes cachée, pas de plancher à 0,10 $.",
"pillars.p3.t":"Trop rapide pour hésiter","pillars.p3.d":"Un système éprouvé depuis 2019 — on ne part pas de zéro : on l'habille de votre marque et on lance en 30 jours.",
"brands.eyebrow":"Les marques que nous exploitons aujourd'hui","brands.title":"Même plateforme, marques différentes — exactement comme sera la vôtre","brands.siro":"Siro — Égypte et Jordanie","brands.intalaq":"Intalaq — Syrie","brands.next":"Votre marque, ensuite","brands.note":"Chaque marque obtient une identité d'application et d'administration totalement indépendante, sur le même moteur.",
"prod.eyebrow":"La plateforme","prod.title":"Quatre composants, un seul système","prod.tab.rider":"App passager","prod.tab.driver":"App chauffeur","prod.tab.dispatch":"Dispatch","prod.tab.hub":"My Hub",
"prod.rider.h":"Commander, voir le prix, suivre","prod.rider.1":"Commande avec devis par catégorie avant confirmation","prod.rider.2":"Suivi en direct du chauffeur","prod.rider.3":"Paiement en espèces et portefeuille","prod.rider.m1":"Tarif confirmé","prod.rider.m2":"Arrivée",
"prod.driver.h":"Portefeuille, abonnements, gains en direct","prod.driver.1":"Portefeuille et abonnements flexibles (90 / 180 / 360 jours)","prod.driver.2":"Carte de demande claire avec distance et tarif","prod.driver.3":"Gains en direct et historique","prod.driver.m1":"Gains du jour","prod.driver.m2":"Abonnement","prod.driver.m3":"Demande suivante",
"prod.dispatch.h":"Affectation manuelle et auto, carte live","prod.dispatch.1":"Affecter les demandes manuellement ou automatiquement","prod.dispatch.2":"Carte de flotte en direct","prod.dispatch.3":"Réservations téléphoniques sans l'app","prod.dispatch.m1":"Véhicules actifs",
"prod.hub.h":"Tarifs, rapports, chauffeurs","prod.hub.1":"Moteur tarifaire complet avec catégories et plages horaires","prod.hub.2":"Rapports et finances totalement transparents","prod.hub.3":"Gestion des chauffeurs et documents avec vérification IA","prod.hub.m1":"Trajets/mois","prod.hub.m2":"GMV total",
"calc.eyebrow":"L'outil de vente silencieux","calc.title":"Combien économiseriez-vous avec Tripz ? Faites le calcul.","calc.lead":"Ajustez vos trajets quotidiens et le tarif moyen — et comparez notre facture en direct à un modèle de commission de 15% et au plancher du leader.",
"calc.trips":"Trajets par jour","calc.fare":"Tarif moyen","calc.currency":"Devise","calc.plan":"Forfait",
"calc.r.tripz":"Facture mensuelle Tripz","calc.r.commission":"Modèle à 15% de commission","calc.r.floor":"Modèle à 0,10 $/trajet","calc.r.savecap":"Vos économies annuelles avec Tripz","calc.r.send":"Envoyer ce calcul sur WhatsApp",
"how.eyebrow":"Le parcours de lancement","how.title":"Du contrat aux deux stores en 30 jours","how.lead":"Cinq étapes claires, sous notre supervision directe, sans aucune interruption si vous êtes sur un ancien système.",
"how.s1.d":"Jour 1–3","how.s1.t":"Cadrage","how.s1.p":"Nous définissons ensemble votre ville, vos catégories, tarifs, langues et devises.",
"how.s2.d":"Jour 4–7","how.s2.t":"Ressources & licences","how.s2.p":"Vous envoyez le logo, les couleurs et les comptes développeur ; nous préparons l'identité visuelle.",
"how.s3.d":"Jour 8–14","how.s3.t":"Build & migration","how.s3.p":"Nous construisons votre instance, connectons paiement et SMS, et migrons vos chauffeurs et soldes sans interruption.",
"how.s4.d":"Jour 15–21","how.s4.t":"Tests terrain","how.s4.p":"Déploiement sur TestFlight et une piste Beta et tests avec vous sur le terrain.",
"how.s5.d":"Jour 22–30","how.s5.t":"Mise en ligne","how.s5.p":"Revue des stores et approbation, puis mise en ligne sous notre supervision directe.",
"price.eyebrow":"Tarifs entièrement publics","price.title":"Oui — tous nos prix sont ici. Publiquement.","price.lead":"Une page de tarifs complète est en soi un différenciateur dans un marché fondé sur le flou. Choisissez, évoluez quand vous voulez.",
"price.monthly":"Mensuel","price.yearly":"Annuel","price.save15":"Économisez 15%","plan.setup":"Mise en place :","plan.popular":"Le plus choisi",
"plan.start.n":"Démarrage","plan.start.1":"Votre ville listée dans l'appli Tripz partagée — pas encore d'appli à votre marque","plan.start.2":"Tableau de bord et dispatch de base","plan.start.3":"Moteur tarifaire complet avec votre pack pays (même moteur que les offres payantes)","plan.start.4":"Plafond d'essai : 90 jours ou 10 000 trajets, puis mise à niveau","plan.start.cta":"Commencer",
"plan.brand.n":"Marque","plan.brand.0":"↳ Tout Démarrage, plus :","plan.brand.1":"Vos propres apps passager + chauffeur sur les deux stores — non partagées","plan.brand.2":"Publication et revue sur les stores gérées de bout en bout","plan.brand.3":"Aucun plafond de trajets ni de durée","plan.brand.4":"Support arabe direct + gestionnaire de compte dédié","plan.brand.cta":"Réserver votre lancement",
"plan.fleet.n":"Flotte+","plan.fleet.0":"↳ Tout Marque, plus :","plan.fleet.1":"Dispatch avancé avec zones et niveaux de chauffeurs","plan.fleet.2":"Portail de réservation entreprises (B2B) + réservation web","plan.fleet.3":"Portefeuilles et crédit chauffeurs dédiés","plan.fleet.4":"API + Webhooks + rapports opérationnels avancés","plan.fleet.5":"★ Renseignements Flotte inclus : carte thermique + demande prédictive + rapports de santé",
"plan.sov.n":"Souveraineté","plan.sov.0":"↳ Tout Flotte+, plus :","plan.sov.1":"Serveur entièrement isolé à l'intérieur de votre pays","plan.sov.2":"Interface de reporting régulateur + SLA 99,9%","plan.sov.3":"Garantie d'export complète + option Escrow","plan.sov.4":"★ Les trois modules payants + Transport entièrement inclus (826 $/mois de valeur)","plan.sov.cta":"Contacter les entreprises",
"price.gmvnote":"Taux GMV dégressifs : plus vous grandissez, plus notre part diminue. (Marque : 2,5% jusqu'à 50k$ · 2% jusqu'à 200k$ · 1,5% au-delà)",
"price.c1.t":"Taux publié","price.c1.d":"Écrit et fixé dans le contrat — sans surprises.","price.c2.t":"Exportez vos données","price.c2.d":"Toutes vos données, exportables à tout moment.","price.c3.t":"Sortie élégante","price.c3.d":"Si vous partez : 60 jours de transition au lieu d'une coupure immédiate.",
"price.founder.t":"Programme Partenaire Fondateur","price.founder.d":"3 premiers opérateurs : mise en place gratuite contre +1 point pendant un an + étude de cas nominative.","price.founder.seats":"Places restantes",
"consent.t":"Nous mesurons ce qui vous sert — avec votre accord","consent.d":"Nous utilisons une mesure publicitaire pour savoir quelle annonce vous a amené ici. Nous ne collectons ni votre nom ni votre numéro, et vous pouvez refuser tout en utilisant l'intégralité du site.","consent.yes":"Accepter","consent.no":"Refuser",
"addons.eyebrow":"Composable","addons.title":"Trois modules payants — pas un de plus","addons.lead":"Nous ne vendons ni la sécurité ni les paiements : ils sont dans chaque forfait. Ce que nous vendons, c'est ce qui augmente réellement votre marge.",
"addon.badge.now":"Disponible maintenant","addon.badge.soon":"Prochainement ce trimestre",
"core.title":"Dans chaque forfait — jamais vendu en option","core.lead":"Un opérateur sans bouton d'urgence ou sans passerelle de paiement n'est pas un produit incomplet — c'est un produit qui ne fonctionne pas. Nous ne les facturons donc pas.",
"core.i1.t":"Confiance & Sécurité","core.i1.d":"Bouton d'urgence · détection des fraudes · assurance chauffeur · vérification IA des documents · rapports régulateur",
"core.i2.t":"Paiements locaux","core.i2.d":"PayMob · CliQ · SyriaTel et MTN Cash · Sham Cash · portefeuilles et demandes de retrait",
"addons.m1.name":"Suite IA","addons.m1.desc":"Tri automatique des plaintes, conseiller opérationnel hebdomadaire, rapprochement des paiements depuis les SMS opérateur — votre employé qui ne dort jamais.","addons.m1.period":"/mois",
"addons.m2.name":"Renseignements Tarifaires","addons.m2.desc":"Un moteur statistique qui extrait la formule tarifaire de votre marché et son élasticité de la demande, puis aligne votre tarif automatiquement. 5% de variation de prix déplacent 30% du profit — ce module décide ces 5% par les données, pas à l'instinct.","addons.m2.period":"/mois","addons.m2.setup":"Mise en place 1 000 $ — calibrage du marché local",
"addons.m3.name":"Suite Croissance","addons.m3.desc":"Réactivation des passagers inactifs, campagnes WhatsApp, gamification, défis et parrainages — un passager qui revient coûte 10× moins cher qu'un nouveau.","addons.m3.period":"/mois",
"addons.note":"Renseignements Flotte (carte thermique, demande prédictive, rapports de santé) n'est plus vendu séparément — il est désormais intégré au forfait Flotte+.",
"transit.eyebrow":"Une ligne de produit distincte","transit.title":"Transport public — les bus sur la même plateforme","transit.lead":"Pas une option d'une app de taxi. Un acheteur totalement différent, qui achète parce qu'il exploite un réseau de transport collectif — avec son propre tunnel, cahier des charges et contrat.",
"transit.for1":"Municipalités","transit.for2":"Universités","transit.for3":"Transport du personnel","transit.for4":"Écoles",
"transit.f1":"Lignes, horaires et suivi en direct de chaque bus","transit.f2":"Inscription des passagers et abonnés avec abonnements mensuels","transit.f3":"Alertes d'approche du bus + diffusions de groupe", "transit.f4":"Tableau de bord superviseur autonome et rapports de ponctualité",
"transit.period":"/mois","transit.setup":"Mise en place 2 500 $ — comprend le tracé des lignes et horaires","transit.note":"Entièrement inclus dans le forfait Souveraineté. Ajouté au prix courant sur tout autre forfait.","transit.cta":"Réserver une démo transport",
"cmp.eyebrow":"La comparaison honnête","cmp.title":"Tripz face aux alternatives","cmp.col.feature":"Critère","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"Développement sur mesure","cmp.badge":"Meilleure valeur",
"land.eyebrow":"Où en est le marché","land.title":"Le paysage tarifaire du secteur","land.lead":"Les tarifs des plateformes VTC mondiales, publics sur leurs propres sites — avec Tripz la plus transparente et le plancher par trajet le plus bas.",
"land.col.platform":"Plateforme","land.col.model":"Modèle","land.col.setup":"Mise en place","land.col.monthly":"Mensuel","land.col.pertrip":"Par trajet",
"land.m.tripz":"Entièrement public et publié","land.m.onde":"Hybride + opaque","land.m.yelow":"Abonnement mensuel","land.m.vivo":"Licence de code unique","land.m.zoy":"Abonnement + par trajet","land.m.cab":"Forfait selon la flotte",
"land.p.tripz":"Dès 0,02 $ · taux publié","land.p.onde":"0,10 $ · taux secret","land.p.zoy":"0,10 $ après 600 trajets","land.p.cabm":"Selon la flotte","land.p.cab":"Sans commission",
"land.note":"Chiffres issus des pages publiques de chaque fournisseur (2026), susceptibles de changer. Tripz est la seule à publier son taux complet.",
"cmp.r1":"Coût de départ","cmp.r2":"Délai de lancement","cmp.r2.us":"30 jours","cmp.r2.on":"Semaines–mois","cmp.r2.cu":"9–18 mois",
"cmp.r3":"Plancher par trajet","cmp.r4":"Taux publié ?","cmp.r5":"Export garanti par contrat","cmp.r6":"Hébergement dans votre pays","cmp.r6.us":"✓ Souveraineté","cmp.r7":"Vrai support arabe","cmp.r7.on":"Partiel","cmp.r7.cu":"Selon le dev",
"case.eyebrow":"Étude de cas","case.title":"Avant de le vendre, nous avons fait tourner notre propre société dessus","case.p1":"« Siro » est l'application VTC que nous avons exploitée nous-mêmes depuis 2019. Chaque fonction de Tripz vient d'une exploitation réelle, pas d'un tableau blanc.",
"case.p2":"Nous en avons fait une plateforme cloud multi-locataire pour que chaque opérateur ait le même système — éprouvé — sous sa propre marque. Aujourd'hui, il fonctionne au Caire, à Alexandrie et à Damas.","case.s1":"trajets/mois","case.s2":"chauffeurs actifs","case.s3":"villes",
"case.quote":"« Nous n'avons pas fait un pitch deck ; nous avons bâti une société qui fonctionne, puis l'avons ouverte aux opérateurs. »","case.who":"— Fondateur, Tripz",
"case.d1":"Trajets mensuels","case.d2":"GMV total","case.d3":"Taux effectif","case.d4":"Villes actives",
"sec.title":"Sécurité de classe mondiale, conformité claire","sec.b1":"Paiements via partenaires PCI DSS (Paymob) — aucune carte sur nos serveurs","sec.b2":"Chiffrement TLS complet","sec.b3":"Sauvegardes quotidiennes","sec.b4":"Accord de traitement des données clair",
"faq.eyebrow":"Réponses franches","faq.title":"Les questions que les autres esquivent",
"final.title":"Votre ville attend son application. Commencez aujourd'hui.",
"demo.lead":"Ce n'est pas un pitch — voici les vraies applications Tripz, déjà en ligne sur les deux stores.","demo.rider":"App passager","demo.driver":"App chauffeur","demo.appstore":"App Store","demo.googleplay":"Google Play",
"foot.tag":"VTC en SaaS — lancez votre app sous votre marque, vos données restent les vôtres.","foot.product":"Produit","foot.solutions":"Solutions","foot.fleets":"Bureaux de taxis & flottes","foot.startups":"Fondateurs & marchés émergents","foot.resources":"Ressources","foot.case":"Étude de cas","foot.legal":"Légal","foot.privacy":"Confidentialité","foot.terms":"Conditions","foot.dpa":"Accord de traitement des données","foot.rights":"Tous droits réservés.","foot.built":"Conçu pour les marchés arabes & émergents."
},
es:{
"nav.product":"Producto","nav.addons":"Complementos","nav.savings":"Ahorro","nav.pricing":"Precios","nav.how":"Cómo lanzamos","nav.faq":"FAQ","nav.demo":"Probar demo",
"hero.title":"Lanza tu plataforma de transporte [con tu marca] — en 30 días, y tus datos siguen siendo tuyos.",
"hero.sub":"Apps de pasajero y conductor en ambas tiendas, un panel de administración y dispatch — con precios publicados aquí mismo y un contrato que garantiza la exportación de tus datos, en cualquier momento.",
"hero.cta1":"Probar la demo en vivo","hero.cta2":"Habla con nosotros por WhatsApp","hero.trust":"Sin tarjeta · Demo instantánea, sin llamada de ventas","hero.scroll":"Descubre más",
"ph.rider.eta":"Llegada","ph.min":"min","ph.rider.class":"Económico","ph.rider.chip":"Tarifa confirmada antes de pedir","ph.rider.btn":"Pedir ahora",
"ph.driver.today":"Ganancias de hoy","ph.driver.new":"Nueva solicitud","ph.driver.fare":"Tarifa","ph.driver.accept":"Aceptar",
"stat.since":"Viajes reales desde","stat.min":"Mínimo por viaje — el más bajo","stat.days":"días","stat.launch":"del contrato a ambas tiendas","stat.lang":"idiomas, RTL auténtico",
"pillars.eyebrow":"Por qué Tripz","pillars.title":"Lo inverso de todo lo que duele del líder","pillars.lead":"Tres brechas del mercado que convertimos en promesas escritas en tu contrato.",
"pillars.p1.t":"Tus datos, tu soberanía","pillars.p1.d":"Exportación completa en cualquier momento, período de transición de 60 días en el contrato y opción de alojar dentro de tu país.",
"pillars.p2.t":"Costo sin sorpresas","pillars.p2.d":"La tarifa está publicada aquí en la página de precios. Sin factura de mapas oculta, sin mínimo de $0.10.",
"pillars.p3.t":"Demasiado rápido para dudar","pillars.p3.d":"Un sistema probado con viajes reales desde 2019 — no construimos desde cero: lo vestimos con tu marca y lanzamos en 30 días.",
"brands.eyebrow":"Marcas que operamos hoy","brands.title":"Misma plataforma, marcas distintas — exactamente como se verá la tuya","brands.siro":"Siro — Egipto y Jordania","brands.intalaq":"Intalaq — Siria","brands.next":"Tu marca, después","brands.note":"Cada marca obtiene una app y un panel de administración totalmente independientes, sobre el mismo motor.",
"prod.eyebrow":"La plataforma","prod.title":"Cuatro componentes, un sistema","prod.tab.rider":"App pasajero","prod.tab.driver":"App conductor","prod.tab.dispatch":"Dispatch","prod.tab.hub":"My Hub",
"prod.rider.h":"Pide, ve el precio, rastrea","prod.rider.1":"Pedido con cotización por categoría antes de confirmar","prod.rider.2":"Seguimiento en vivo del conductor","prod.rider.3":"Pago en efectivo y billetera","prod.rider.m1":"Tarifa confirmada","prod.rider.m2":"Llegada",
"prod.driver.h":"Billetera, suscripciones, ganancias en vivo","prod.driver.1":"Billetera y suscripciones flexibles (90 / 180 / 360 días)","prod.driver.2":"Mapa de solicitud claro con distancia y tarifa","prod.driver.3":"Ganancias en vivo e historial","prod.driver.m1":"Ganancias de hoy","prod.driver.m2":"Suscripción","prod.driver.m3":"Próxima solicitud",
"prod.dispatch.h":"Asignación manual y automática, mapa en vivo","prod.dispatch.1":"Asigna solicitudes manual o automáticamente","prod.dispatch.2":"Mapa de flota en vivo de cada vehículo","prod.dispatch.3":"Reservas telefónicas sin la app","prod.dispatch.m1":"Vehículos activos",
"prod.hub.h":"Tarifas, informes, conductores","prod.hub.1":"Motor de tarifas completo con categorías y franjas horarias","prod.hub.2":"Informes y finanzas totalmente transparentes","prod.hub.3":"Gestión de conductores y documentos con verificación IA","prod.hub.m1":"Viajes/mes","prod.hub.m2":"GMV total",
"calc.eyebrow":"La herramienta de venta silenciosa","calc.title":"¿Cuánto ahorrarías con Tripz? Haz el cálculo.","calc.lead":"Ajusta tus viajes diarios y la tarifa media — y compara nuestra factura al instante con un modelo de comisión del 15% y el mínimo del líder.",
"calc.trips":"Viajes por día","calc.fare":"Tarifa media","calc.currency":"Moneda","calc.plan":"Plan",
"calc.r.tripz":"Factura mensual Tripz","calc.r.commission":"Modelo con 15% de comisión","calc.r.floor":"Modelo con mínimo $0.10/viaje","calc.r.savecap":"Tu ahorro anual con Tripz","calc.r.send":"Envíanos este cálculo por WhatsApp",
"how.eyebrow":"El camino de lanzamiento","how.title":"Del contrato a ambas tiendas en 30 días","how.lead":"Cinco etapas claras, bajo nuestra supervisión directa, sin un solo día de inactividad si vienes de un sistema antiguo.",
"how.s1.d":"Día 1–3","how.s1.t":"Alcance","how.s1.p":"Definimos juntos tu ciudad, categorías, tarifas, idiomas y monedas.",
"how.s2.d":"Día 4–7","how.s2.t":"Recursos y licencias","how.s2.p":"Envías el logo, colores y cuentas de desarrollador; preparamos la identidad visual.",
"how.s3.d":"Día 8–14","how.s3.t":"Build y migración","how.s3.p":"Construimos tu instancia, conectamos pago y SMS, y migramos tus conductores y saldos sin interrupción.",
"how.s4.d":"Día 15–21","how.s4.t":"Pruebas de campo","how.s4.p":"Despliegue en TestFlight y una pista Beta y pruebas contigo en el terreno.",
"how.s5.d":"Día 22–30","how.s5.t":"Salida en vivo","how.s5.p":"Revisión de tiendas y aprobación, luego salida en vivo bajo nuestra supervisión directa.",
"price.eyebrow":"Precios totalmente públicos","price.title":"Sí — todos nuestros precios están aquí. Públicamente.","price.lead":"Una página de precios completa es en sí un diferenciador en un mercado basado en la ambigüedad. Elige tu plan, mejora cuando quieras.",
"price.monthly":"Mensual","price.yearly":"Anual","price.save15":"Ahorra 15%","plan.setup":"Instalación:","plan.popular":"El más elegido",
"plan.start.n":"Inicio","plan.start.1":"Tu ciudad listada dentro de la app compartida Tripz — sin app propia con tu marca todavía","plan.start.2":"Panel de administración y dispatch básico","plan.start.3":"Motor de tarifas completo con tu pack país (mismo motor que los planes de pago)","plan.start.4":"Límite de prueba: 90 días o 10.000 viajes, luego actualización","plan.start.cta":"Empezar ahora",
"plan.brand.n":"Marca","plan.brand.0":"↳ Todo Inicio, más:","plan.brand.1":"Tus propias apps de pasajero + conductor en ambas tiendas — no compartidas","plan.brand.2":"Publicación y revisión en tiendas gestionada por nosotros","plan.brand.3":"Sin límite de viajes ni de tiempo","plan.brand.4":"Soporte en árabe directo + gestor de cuenta dedicado","plan.brand.cta":"Reserva tu lanzamiento",
"plan.fleet.n":"Flota+","plan.fleet.0":"↳ Todo Marca, más:","plan.fleet.1":"Dispatch avanzado con zonas y niveles de conductores","plan.fleet.2":"Portal de reservas corporativas (B2B) + reserva web","plan.fleet.3":"Billeteras y crédito dedicados para conductores","plan.fleet.4":"API + Webhooks + informes operativos avanzados","plan.fleet.5":"★ Inteligencia de Flota incluida: mapa de calor + demanda predictiva + informes de salud",
"plan.sov.n":"Soberanía","plan.sov.0":"↳ Todo Flota+, más:","plan.sov.1":"Servidor totalmente aislado dentro de tu país","plan.sov.2":"Interfaz de reportes para el regulador + SLA 99,9%","plan.sov.3":"Garantía de exportación completa + opción Escrow","plan.sov.4":"★ Los tres módulos pagados + Transporte totalmente incluidos ($826/mes de valor)","plan.sov.cta":"Habla con empresas",
"price.gmvnote":"Tasas GMV decrecientes: cuanto más creces, menor es nuestra parte. (Marca: 2,5% hasta $50k · 2% hasta $200k · 1,5% por encima)",
"price.c1.t":"Tarifa publicada","price.c1.d":"Escrita y fijada en el contrato — sin sorpresas.","price.c2.t":"Exporta tus datos","price.c2.d":"Todos tus datos, exportables en cualquier momento.","price.c3.t":"Salida elegante","price.c3.d":"Si te vas: 60 días de transición en lugar de un corte inmediato.",
"price.founder.t":"Programa Socio Fundador","price.founder.d":"Primeros 3 operadores: instalación gratis a cambio de +1 punto porcentual por un año + estudio de caso con tu nombre.","price.founder.seats":"Plazas restantes",
"consent.t":"Medimos lo que te sirve — con tu permiso","consent.d":"Usamos medición publicitaria para saber qué anuncio te trajo aquí. No recogemos tu nombre ni tu número, y puedes rechazar y seguir usando todo el sitio.","consent.yes":"Aceptar","consent.no":"Rechazar",
"addons.eyebrow":"Modular","addons.title":"Tres módulos pagados — ni uno más","addons.lead":"No vendemos ni la seguridad ni los pagos: están en todos los planes. Lo que vendemos es lo que realmente aumenta tu margen.",
"addon.badge.now":"Disponible ahora","addon.badge.soon":"Próximamente este trimestre",
"core.title":"En todos los planes — nunca se vende como complemento","core.lead":"Un operador sin botón de pánico o sin pasarela de pago no es un producto incompleto — es un producto que no funciona. Por eso no los cobramos.",
"core.i1.t":"Confianza y Seguridad","core.i1.d":"Botón de pánico · detección de fraude · seguro del conductor · verificación de documentos con IA · reportes regulatorios",
"core.i2.t":"Pagos locales","core.i2.d":"PayMob · CliQ · SyriaTel y MTN Cash · Sham Cash · billeteras y solicitudes de retiro",
"addons.m1.name":"Suite de IA","addons.m1.desc":"Triaje automático de quejas, asesor operativo semanal, conciliación de pagos desde SMS del proveedor — tu empleado que nunca duerme.","addons.m1.period":"/mes",
"addons.m2.name":"Inteligencia de Precios","addons.m2.desc":"Un motor estadístico que extrae la fórmula de precios de tu mercado y su elasticidad de demanda, y ajusta tu tarifa automáticamente. Un cambio del 5% en el precio mueve el 30% del beneficio — este módulo decide ese 5% con datos, no por intuición.","addons.m2.period":"/mes","addons.m2.setup":"Configuración $1.000 — calibración del mercado local",
"addons.m3.name":"Suite de Crecimiento","addons.m3.desc":"Reactivación de pasajeros inactivos, campañas WhatsApp, gamificación, desafíos y referidos — un pasajero que vuelve cuesta 10× menos que uno nuevo.","addons.m3.period":"/mes",
"addons.note":"Inteligencia de Flota (mapa de calor, demanda predictiva, informes de salud) ya no se vende por separado — ahora está integrada en el plan Flota+.",
"transit.eyebrow":"Línea de producto independiente","transit.title":"Transporte público — autobuses en la misma plataforma","transit.lead":"No es un complemento de una app de taxi. Un comprador completamente distinto, que compra porque opera una red de transporte masivo — con su propio embudo, especificación y contrato.",
"transit.for1":"Municipios","transit.for2":"Universidades","transit.for3":"Transporte de personal","transit.for4":"Colegios",
"transit.f1":"Líneas, horarios y seguimiento en vivo de cada autobús","transit.f2":"Registro de pasajeros y abonados con pases mensuales","transit.f3":"Alertas de proximidad del autobús + difusión a grupos","transit.f4":"Panel de supervisor independiente e informes de puntualidad",
"transit.period":"/mes","transit.setup":"Configuración $2.500 — incluye trazado de rutas y horarios","transit.note":"Totalmente incluido en el plan Soberanía. Se añade a precio de lista sobre cualquier otro plan.","transit.cta":"Reservar demo de transporte",
"cmp.eyebrow":"La comparación honesta","cmp.title":"Tripz frente a las alternativas","cmp.col.feature":"Criterio","cmp.col.other":"المنصات المنافسة","cmp.col.custom":"Desarrollo a medida","cmp.badge":"Mejor valor",
"land.eyebrow":"Dónde está el mercado","land.title":"El panorama de precios del sector","land.lead":"Los precios de las plataformas de transporte globales, públicos en sus propios sitios — con Tripz la más transparente y el mínimo por viaje más bajo.",
"land.col.platform":"Plataforma","land.col.model":"Modelo","land.col.setup":"Instalación","land.col.monthly":"Mensual","land.col.pertrip":"Por viaje",
"land.m.tripz":"Totalmente público y publicado","land.m.onde":"Híbrido + opaco","land.m.yelow":"Suscripción mensual","land.m.vivo":"Licencia de código única","land.m.zoy":"Suscripción + por viaje","land.m.cab":"Tarifa según la flota",
"land.p.tripz":"Desde $0.02 · tarifa publicada","land.p.onde":"$0.10 · tarifa secreta","land.p.zoy":"$0.10 tras 600 viajes","land.p.cabm":"Según la flota","land.p.cab":"Sin comisión",
"land.note":"Cifras de las páginas públicas de cada proveedor (2026), sujetas a cambios. Tripz es la única que publica su tarifa completa.",
"cmp.r1":"Costo inicial","cmp.r2":"Tiempo hasta el lanzamiento","cmp.r2.us":"30 días","cmp.r2.on":"Semanas–meses","cmp.r2.cu":"9–18 meses",
"cmp.r3":"Mínimo por viaje","cmp.r4":"¿Tarifa publicada?","cmp.r5":"Exportación garantizada por contrato","cmp.r6":"Alojamiento en tu país","cmp.r6.us":"✓ Soberanía","cmp.r7":"Soporte árabe auténtico","cmp.r7.on":"Parcial","cmp.r7.cu":"Según el dev",
"case.eyebrow":"Estudio de caso","case.title":"Antes de venderlo a otros, operamos nuestra propia empresa con él","case.p1":"«Siro» es la app de transporte que operamos nosotros mismos en el mercado desde 2019. Cada función de Tripz salió de una operación real, no de una pizarra.",
"case.p2":"La convertimos en una plataforma cloud multi-inquilino para que cada operador tenga el mismo sistema — probado — bajo su propia marca. Hoy opera en El Cairo, Alejandría y Damasco.","case.s1":"viajes/mes","case.s2":"conductores activos","case.s3":"ciudades",
"case.quote":"«No hicimos un pitch deck; construimos una empresa que funciona y luego la abrimos a los operadores.»","case.who":"— Fundador, Tripz",
"case.d1":"Viajes mensuales","case.d2":"GMV total","case.d3":"Tasa efectiva","case.d4":"Ciudades activas",
"sec.title":"Seguridad de clase mundial, cumplimiento claro","sec.b1":"Pagos vía socios PCI DSS (Paymob) — ninguna tarjeta toca nuestros servidores","sec.b2":"Cifrado TLS completo","sec.b3":"Copias de seguridad diarias","sec.b4":"Acuerdo de tratamiento de datos claro",
"faq.eyebrow":"Respuestas directas","faq.title":"Las preguntas que otros esquivan",
"final.title":"Tu ciudad espera su aplicación. Empieza hoy.",
"demo.lead":"Esto no es una presentación — son las apps reales de Tripz, ya activas en ambas tiendas.","demo.rider":"App pasajero","demo.driver":"App conductor","demo.appstore":"App Store","demo.googleplay":"Google Play",
"foot.tag":"Transporte en SaaS — lanza tu app con tu marca, y tus datos siguen siendo tuyos.","foot.product":"Producto","foot.solutions":"Soluciones","foot.fleets":"Oficinas de taxi y flotas","foot.startups":"Fundadores y mercados emergentes","foot.resources":"Recursos","foot.case":"Estudio de caso","foot.legal":"Legal","foot.privacy":"Privacidad","foot.terms":"Términos","foot.dpa":"Acuerdo de tratamiento de datos","foot.rights":"Todos los derechos reservados.","foot.built":"Diseñado para mercados árabes y emergentes."
}
};
/* FAQ content per language */
const FAQS={
ar:[["من يملك بيانات الركاب والسائقين؟","أنت. تصدّرها كاملة في أي وقت، والعقد يلزمنا بفترة انتقال 60 يوماً إن قررت المغادرة."],
["ماذا لو أفلستم أو أغلقتم؟","باقة «سيادة» تعمل من خوادم داخل بلدك، ولكل الباقات ضمان تصدير + escrow اختياري للكود."],
["كم النسبة بالضبط؟","مكتوبة في صفحة التسعير: 5% (انطلاقة) · 2.5% (علامة) · 2% (أسطول+) · 1% (سيادة) — تنازلية مع نمو GMV."],
["هل أحتاج فريقاً تقنياً؟","لا. النشر والتحديثات والمتاجر علينا. أنت تدير التشغيل من لوحة عربية."],
["عندي تطبيق قديم وسائقون نشطون — هل أخسرهم؟","لا: نرحّل السائقين والأرصدة والسجلات بلا يوم توقف."],
["هل يدعم الدفع كاش؟","نعم، الكاش افتراضي أساسي، والمحافظ والبطاقات إضافات حسب بلدك (Paymob في مصر وبوابات محلية أخرى)."]],
en:[["Who owns the rider and driver data?","You do. Export it in full anytime, and the contract binds us to a 60-day transition period if you decide to leave."],
["What if you go bankrupt or shut down?","The Sovereign plan runs from servers inside your country, and every plan has an export guarantee + optional code escrow."],
["What exactly is the rate?","Written on the pricing page: 5% (Startup) · 2.5% (Brand) · 2% (Fleet+) · 1% (Sovereign) — descending as GMV grows."],
["Do I need a technical team?","No. Publishing, updates and the stores are on us. You run operations from an Arabic-first panel."],
["I have a legacy app and active drivers — will I lose them?","No: we migrate drivers, balances and records with zero downtime."],
["Does it support cash payment?","Yes, cash is the core default, and wallets and cards are add-ons per country (Paymob in Egypt and other local gateways)."]],
fr:[["Qui possède les données des passagers et chauffeurs ?","Vous. Exportez-les intégralement à tout moment ; le contrat nous oblige à une transition de 60 jours si vous partez."],
["Et si vous faites faillite ou fermez ?","Le forfait Souveraineté tourne sur des serveurs dans votre pays, et chaque forfait a une garantie d'export + escrow de code optionnel."],
["Quel est exactement le taux ?","Écrit sur la page tarifs : 5% (Démarrage) · 2,5% (Marque) · 2% (Flotte+) · 1% (Souveraineté) — dégressif selon le GMV."],
["Ai-je besoin d'une équipe technique ?","Non. Publication, mises à jour et stores sont pour nous. Vous gérez depuis un panneau pensé pour l'arabe."],
["J'ai une ancienne app et des chauffeurs actifs — vais-je les perdre ?","Non : nous migrons chauffeurs, soldes et historiques sans interruption."],
["Le paiement en espèces est-il pris en charge ?","Oui, l'espèce est le défaut de base ; portefeuilles et cartes sont des options selon le pays (Paymob en Égypte et autres passerelles locales)."]],
es:[["¿Quién es dueño de los datos de pasajeros y conductores?","Tú. Expórtalos completos en cualquier momento; el contrato nos obliga a 60 días de transición si decides irte."],
["¿Qué pasa si quiebran o cierran?","El plan Soberanía corre en servidores dentro de tu país, y todos los planes tienen garantía de exportación + escrow de código opcional."],
["¿Cuál es exactamente la tarifa?","Escrita en la página de precios: 5% (Inicio) · 2,5% (Marca) · 2% (Flota+) · 1% (Soberanía) — decreciente al crecer el GMV."],
["¿Necesito un equipo técnico?","No. Publicación, actualizaciones y tiendas corren por nuestra cuenta. Tú operas desde un panel pensado en árabe."],
["Tengo una app antigua y conductores activos — ¿los perderé?","No: migramos conductores, saldos y registros sin tiempo de inactividad."],
["¿Admite pago en efectivo?","Sí, el efectivo es el predeterminado base; billeteras y tarjetas son complementos según el país (Paymob en Egipto y otras pasarelas locales)."]]
};
/* ============ STATE ============ */
let LANG="ar";
const $=(s,e=document)=>e.querySelector(s), $$=(s,e=document)=>[...e.querySelectorAll(s)];
function applyLang(lang){
LANG=lang;
const rtl=lang==="ar";
document.documentElement.lang=lang;
document.documentElement.dir=rtl?"rtl":"ltr";
const d=I18N[lang];
$$("[data-i18n]").forEach(el=>{const k=el.getAttribute("data-i18n");if(d[k]!=null)el.textContent=d[k];});
// hero title: per-word stagger with a [bracketed] highlight span that may span several words
$("#heroTitle").innerHTML=buildHeroTitle(d["hero.title"]);
// lang menu active
$$(".lang-menu button").forEach(b=>b.classList.toggle("active",b.dataset.lang===lang));
buildFAQ();
calc();
try{localStorage.setItem("tripz_lang",lang);}catch(e){}
}
function buildHeroTitle(raw){
let hl=false;
return raw.split(" ").map((w,i)=>{
let t=w, isHl=hl, closeAfter=false;
if(t.includes("[")){isHl=true;hl=true;t=t.replace("[","");}
if(t.includes("]")){isHl=true;closeAfter=true;t=t.replace("]","");}
const inner=isHl?`<span class="hl">${t}</span>`:t;
if(closeAfter)hl=false;
return `<span class="word" style="animation-delay:${i*.06}s">${inner}&nbsp;</span>`;
}).join("");
}
const FAQ_ICONS=[
'<path d="M12 2l8 4v6c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6l8-4z"/>',
'<path d="M3 21h18M5 21V9l7-5 7 5v12M9 21v-6h6v6"/>',
'<path d="M5 19L19 5M7 9a2 2 0 100-4 2 2 0 000 4zM17 19a2 2 0 100-4 2 2 0 000 4z"/>',
'<path d="M9 18V6l8 6-8 6z"/><circle cx="12" cy="12" r="9"/>',
'<path d="M4 4v5h5M20 20v-5h-5M4.5 9A8 8 0 0119 8.5M19.5 15a8 8 0 01-15 .5"/>',
'<rect x="3" y="6" width="18" height="13" rx="2"/><path d="M3 10h18M7 15h3"/>'
];
function buildFAQ(){
const list=$("#faqList"); list.innerHTML="";
FAQS[LANG].forEach(([q,a],i)=>{
const item=document.createElement("div");item.className="faq-item";
const icon=FAQ_ICONS[i]||FAQ_ICONS[0];
item.innerHTML=`<button class="faq-q"><span class="faq-ico"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${icon}</svg></span><span class="faq-q-text">${q}</span><span class="pm">+</span></button><div class="faq-a"><p>${a}</p></div>`;
const btn=item.querySelector(".faq-q"),ans=item.querySelector(".faq-a");
btn.addEventListener("click",()=>{
const open=item.classList.contains("open");
$$(".faq-item").forEach(f=>{f.classList.remove("open");f.querySelector(".faq-a").style.maxHeight=null;});
if(!open){item.classList.add("open");ans.style.maxHeight=ans.scrollHeight+"px";}
});
list.appendChild(item);
});
}
/* ============ CALCULATOR (docs/05 formula) ============ */
function fmt(n){return "$"+Math.round(n).toLocaleString("en-US");}
function calc(){
const trips=+$("#trips").value;
const fare=+$("#fare").value||0;
const [curCode, rate]=$("#cur").value.split(":");
const [baseVal, gmvVal, minVal, pKey]=$("#plan").value.split(":");
const base = +baseVal, minRate = +minVal;
const usd = fare * (+rate);
const monthlyTrips = trips * 30;
const gmv = monthlyTrips * usd;
// Calculate GMV fee with progressive tiers based on plan
let gmvFee;
if(pKey === "brand"){
if(gmv <= 50000) gmvFee = gmv * 0.025;
else if(gmv <= 200000) gmvFee = 50000 * 0.025 + (gmv - 50000) * 0.02;
else gmvFee = 50000 * 0.025 + 150000 * 0.02 + (gmv - 200000) * 0.015;
} else if(pKey === "fleet"){
if(gmv <= 50000) gmvFee = gmv * 0.02;
else if(gmv <= 200000) gmvFee = 50000 * 0.02 + (gmv - 50000) * 0.015;
else gmvFee = 50000 * 0.02 + 150000 * 0.015 + (gmv - 200000) * 0.01;
} else if(pKey === "startup"){
if(gmv <= 50000) gmvFee = gmv * 0.035;
else if(gmv <= 200000) gmvFee = 50000 * 0.035 + (gmv - 50000) * 0.03;
else gmvFee = 50000 * 0.035 + 150000 * 0.03 + (gmv - 200000) * 0.025;
} else {
gmvFee = gmv * 0.01;
}
const minMonthly = monthlyTrips * minRate;
const tripz = base + Math.max(minMonthly, gmvFee);
const commission = gmv * 0.15;
const floor = monthlyTrips * 0.10;
$("#rTripz").textContent = fmt(tripz);
$("#rComm").textContent = fmt(commission);
$("#rFloor").textContent = fmt(floor);
const save = Math.max(commission, floor) - tripz;
const bigEl = $("#saveBig");
bigEl.textContent = (save > 0 ? fmt(save * 12) : "$0") + "/yr";
const sv = $("#savings"); sv.classList.remove("bump"); void sv.offsetWidth; sv.classList.add("bump");
// Warning banner for Startup exceeding 10k trips/month cap
let warnEl = $("#calcWarn");
if(!warnEl){
warnEl = document.createElement("div");
warnEl.id = "calcWarn";
warnEl.style.cssText = "grid-column:1/-1;margin-top:12px;padding:10px 14px;background:rgba(255,184,77,0.12);border:1px solid rgba(255,184,77,0.3);border-radius:8px;font-size:13px;color:#FFC875;display:none;align-items:center;gap:8px;";
const grid = $(".calc-grid");
if(grid) grid.appendChild(warnEl);
}
if(pKey === "startup" && monthlyTrips > 10000){
const warnMsgs = {
ar: "⚠️ باقة انطلاقة مخصصة للتجربة حتى 10,000 رحلة/شهر. للحجم الحالي يُنصح باختيار باقة «علامة» للحصول على تطبيق خاص بتوفير أكبر.",
en: "⚠️ Startup plan is for trials up to 10,000 trips/mo. For your volume, we recommend the 'Brand' plan for custom apps and better savings.",
fr: "⚠️ Le forfait Startup est limité à 10 000 trajets/mois. Pour votre volume, nous recommandons le forfait 'Marque'.",
es: "⚠️ El plan Inicio está limitado a 10,000 viajes/mes. Para su volumen actual, recomendamos el plan 'Marca'."
};
warnEl.textContent = warnMsgs[LANG] || warnMsgs.ar;
warnEl.style.display = "flex";
} else if(warnEl) {
warnEl.style.display = "none";
}
// slider fill + label
const pct = ((trips - 50) / (5000 - 50)) * 100;
$("#trips").style.setProperty("--p", pct + "%");
$("#tripsVal").textContent = trips.toLocaleString("en-US") + " / day";
// whatsapp prefill
const msg = encodeURIComponent(`Tripz — ${I18N[LANG]["calc.r.savecap"]}: ${bigEl.textContent} | ${trips}/day @ ${fare} ${curCode}`);
$("#waCalc").href = "https://wa.me/962798583052?text=" + msg;
}
/* ============ TABS ============ */
$$(".tab-btn").forEach(b=>b.addEventListener("click",()=>{
$$(".tab-btn").forEach(x=>x.classList.remove("active"));
$$(".tab-panel").forEach(x=>x.classList.remove("active"));
b.classList.add("active");
$(`.tab-panel[data-panel="${b.dataset.tab}"]`).classList.add("active");
}));
/* ============ PRICING TOGGLE ============ */
$("#billToggle").addEventListener("click",function(){
const yr=this.classList.toggle("year");
$("#lblM").classList.toggle("active",!yr);$("#lblY").classList.toggle("active",yr);
$$(".plan .price[data-m]").forEach(p=>{
const v=yr?p.dataset.y:p.dataset.m;
p.innerHTML=`$${v}<small>/mo</small>`;
});
});
/* ============ THEME ============ */
$("#themeBtn").addEventListener("click",()=>{
const cur=document.documentElement.getAttribute("data-theme");
const nxt=cur==="dark"?"light":"dark";
document.documentElement.setAttribute("data-theme",nxt);
try{localStorage.setItem("tripz_theme",nxt);}catch(e){}
});
/* ============ LANG MENU ============ */
$("#langBtn").addEventListener("click",e=>{e.stopPropagation();$("#langWrap").classList.toggle("open");});
document.addEventListener("click",()=>$("#langWrap").classList.remove("open"));
$$(".lang-menu button").forEach(b=>b.addEventListener("click",()=>{applyLang(b.dataset.lang);$("#langWrap").classList.remove("open");}));
/* ============ NAV SCROLL ============ */
addEventListener("scroll",()=>{$("#hdr").classList.toggle("scrolled",scrollY>80);});
/* ============ CALC INPUTS ============ */
["trips","fare","cur","plan"].forEach(id=>$("#"+id).addEventListener("input",calc));
/* ============ REVEAL + COUNTERS + TIMELINE ============ */
const io=new IntersectionObserver((es)=>{
es.forEach(en=>{
if(en.isIntersecting){
en.target.classList.add("in");
$$(".count",en.target).forEach(runCount);
if(en.target.id==="timeline")animateTimeline();
io.unobserve(en.target);
}
});
},{threshold:.2});
$$(".reveal").forEach(el=>io.observe(el));
const tlObs=$("#timeline");if(tlObs)io.observe(tlObs);
function runCount(el){
if(el.dataset.plain){return;} // years shown plainly
const to=+el.dataset.to, dec=+el.dataset.dec||0, dur=900; let t0=null;
function step(ts){if(!t0)t0=ts;const p=Math.min((ts-t0)/dur,1);const e=1-Math.pow(1-p,3);
el.textContent=(to*e).toFixed(dec);if(p<1)requestAnimationFrame(step);else el.textContent=to.toFixed(dec);}
requestAnimationFrame(step);
}
function animateTimeline(){
const steps=$$(".zig-row");const fill=$("#tlFill");
fill.style.height=($("#timeline").offsetHeight-12)+"px";
steps.forEach((s,i)=>setTimeout(()=>s.classList.add("on"),i*220));
}
/* ============ INIT ============ */
(function init(){
try{
const t=localStorage.getItem("tripz_theme");if(t)document.documentElement.setAttribute("data-theme",t);
const savedThm=document.documentElement.getAttribute("data-theme");
const l=localStorage.getItem("tripz_lang")||"ar";applyLang(l);
}catch(e){applyLang("ar");}
})();
/* ============ MEASUREMENT (consent-gated) ============ ------------------
⚠️ ضع معرّف البكسل هنا قبل أول دولار إعلاني. ما دام فارغاً لا يُحمَّل شيء.
الأحداث تُسجَّل محلياً دائماً (بلا كوكيز وبلا بيانات شخصية) وتُرسل لميتا
فقط بعد موافقة صريحة — مطلوب لزوّار الاتحاد الأوروبي (الموقع بالفرنسية
والإسبانية). تعريف الأحداث وربطها بأهداف CAC في docs/32 §5. */
const PIXEL_ID = "1360167306316901";
const CAPI_TOKEN = "EAAOFgSTx7pUBSGsw30ZBnx40yTbFJSFW3iZCEf0bHqEai6wZAxDsZCD89VsAtWtvytneZAVECx2EH3s4XM9kIN8dcAC8e9gogk4bzAdAZBuaLPtVZC8ZAe66SCu4ptZCZCAPVLSPD0LBU26Ac0QeX0ILf5dh4uFHKrM8ZCtU2ZCjYlMaM9xULe1ou5GUv8SxyYWLugZDZD";
const CONSENT_KEY = "tripz_consent";
const Track = (() => {
const local = [];
let pixelReady = false;
const standardEvents = new Set(["PageView", "Lead", "Contact", "ViewContent", "Schedule"]);
function sendCAPI(eventName, params = {}){
if (!CAPI_TOKEN || !PIXEL_ID) return;
try {
const payload = {
data: [{
event_name: eventName,
event_time: Math.floor(Date.now() / 1000),
event_source_url: location.href,
action_source: "website",
user_data: {
client_user_agent: navigator.userAgent
},
custom_data: params
}]
};
fetch(`https://graph.facebook.com/v19.0/${PIXEL_ID}/events?access_token=${CAPI_TOKEN}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload)
}).catch(()=>{});
} catch(e){}
}
function loadPixel(){
if (pixelReady || !PIXEL_ID) return;
pixelReady = true;
/* Meta Pixel base */
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}
(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', PIXEL_ID);
fbq('track', 'PageView');
sendCAPI('PageView');
local.forEach(([n,p]) => {
if (standardEvents.has(n)) fbq('track', n, p);
else fbq('trackCustom', n, p);
sendCAPI(n, p);
});
}
function consented(){ return localStorage.getItem(CONSENT_KEY) !== "no"; }
return {
init(){ if (consented()) loadPixel(); },
grant(){ localStorage.setItem(CONSENT_KEY,"yes"); loadPixel(); },
deny(){ localStorage.setItem(CONSENT_KEY,"no"); },
ev(name, params = {}){
const p = Object.assign({ lang: document.documentElement.lang }, params);
local.push([name, p]);
if (pixelReady && window.fbq) {
if (standardEvents.has(name)) fbq('track', name, p);
else fbq('trackCustom', name, p);
}
sendCAPI(name, p);
if (location.protocol === "file:") console.debug("[track]", name, p);
},
seen: new Set()
};
})();
/* شريط الموافقة */
(function(){
const box = document.getElementById("consent");
if (!box) return;
if (!localStorage.getItem(CONSENT_KEY)) setTimeout(()=>box.classList.add("show"), 1600);
document.getElementById("consentYes").onclick = () => { Track.grant(); box.classList.remove("show"); Track.ev("ConsentGranted"); };
document.getElementById("consentNo").onclick = () => { Track.deny(); box.classList.remove("show"); };
Track.init();
})();
/* أحداث القمع — مطابقة لأهداف CAC في docs/32 */
(function(){
// عمق التصفّح: أي قسم وصله الزائر
const secs = document.querySelectorAll("section[id]");
if ("IntersectionObserver" in window){
const io = new IntersectionObserver(es => es.forEach(e => {
if (e.isIntersecting && !Track.seen.has(e.target.id)){
Track.seen.add(e.target.id);
Track.ev("SectionView", { section: e.target.id });
}
}), { threshold: .35 });
secs.forEach(s => io.observe(s));
}
// نية شراء: نقر على باقة / وحدة / مواصلات
document.querySelectorAll("#pricing .plan").forEach(p => p.addEventListener("click", () => {
Track.ev("PlanInterest", { plan: p.querySelector("h3")?.getAttribute("data-i18n") || "?" });
}));
document.querySelectorAll("#addons .addon-card").forEach(c => c.addEventListener("click", () => {
Track.ev("ModuleInterest", { module: c.querySelector("h3")?.getAttribute("data-i18n") || "?" });
}));
// استعمال الحاسبة = أقوى إشارة نية قبل التواصل
let calcTimer;
["trips","fare","cur","plan"].forEach(id => {
const el = document.getElementById(id);
el && el.addEventListener("change", () => {
clearTimeout(calcTimer);
calcTimer = setTimeout(() => Track.ev("CalculatorUsed", {
plan: document.getElementById("plan")?.value,
currency: document.getElementById("cur")?.value?.split(":")[0]
}), 800);
});
});
// التحويل: كل مسارات الاتصال
document.querySelectorAll('a[href*="wa.me"]').forEach(a => a.addEventListener("click", () => {
Track.ev("Lead", { channel: "whatsapp", where: a.closest("section")?.id || "float" });
}));
document.querySelectorAll('a[href*="calendly"]').forEach(a => a.addEventListener("click", () => {
Track.ev("Lead", { channel: "calendly", where: a.closest("section")?.id || "?" });
}));
document.querySelectorAll('a[href*="apps.apple.com"],a[href*="play.google.com"]').forEach(a => a.addEventListener("click", () => {
Track.ev("DemoAppOpened");
}));
})();
</script>
</body>
</html>