/* POLVA — feuille de style unique. Tokens v1 conservés ; refonte premium 07/2026 :
   icônes SVG unifiées, écrans d'app en HTML/CSS, badges héro uniformes, parcours
   « itinéraire », variété graphique (accents), animations respectant reduced-motion. */
:root{
  --bg:#040b1f;--bg-2:#0a1535;
  --cyan:#3ea8ff;--cyan-light:#5bc8ff;--blue:#1a73ff;
  --gold:#ffcf5b;--gold-2:#ffb547;--green:#3ddc97;--violet:#8b5cf6;
  --text:#e9eefc;--text-dim:#c2cde8;--text-faint:#93a1c8;
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);
  --card:rgba(255,255,255,.045);--card-2:rgba(255,255,255,.07);
  --radius:18px;
  --g-blue:linear-gradient(135deg,#1a73ff,#3ea8ff);
  --g-cyan:linear-gradient(135deg,#1795d8,#5bc8ff);
  --g-gold:linear-gradient(135deg,#ffb547,#ffcf5b);
  --g-green:linear-gradient(135deg,#17b47c,#3ddc97);
  --g-violet:linear-gradient(135deg,#6d4df2,#9b74ff);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:
  radial-gradient(1200px 600px at 80% -10%,rgba(62,168,255,.16),transparent 60%),
  radial-gradient(900px 500px at -10% 30%,rgba(26,115,255,.10),transparent 55%),
  radial-gradient(700px 400px at 60% 110%,rgba(255,207,91,.10),transparent 60%)}
@font-face{font-family:'Sora';src:url('fonts/sora-var.woff2') format('woff2');font-weight:100 800;font-display:swap;font-style:normal}
@font-face{font-family:'Inter';src:url('fonts/inter-var.woff2') format('woff2');font-weight:100 900;font-display:swap;font-style:normal}
[lang=ar] body,[dir=rtl] body{font-family:system-ui,-apple-system,'Segoe UI','Noto Sans Arabic',sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
.container{max-width:1240px;margin:0 auto;padding:0 28px;position:relative;z-index:1}
h1,h2,h3,.logo{font-family:'Sora','Inter',system-ui,sans-serif}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .logo{font-family:system-ui,-apple-system,'Segoe UI','Noto Sans Arabic',sans-serif}
h1{font-size:clamp(34px,5vw,56px);line-height:1.07;font-weight:800;letter-spacing:-1.2px;margin-bottom:22px}
h2{font-size:clamp(26px,3.4vw,40px);line-height:1.12;font-weight:800;letter-spacing:-.8px;margin-bottom:14px}
h3{font-size:18px;font-weight:700}
[dir=rtl] h1,[dir=rtl] h2{letter-spacing:0}
.grad{background:linear-gradient(135deg,#3ea8ff 0%,#ffcf5b 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--text-dim);font-size:17px;max-width:640px}
.section{padding:84px 0}
.section-head{max-width:760px;margin:0 auto 48px;text-align:center}
.section-head .lead{margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;
  background:rgba(62,168,255,.12);border:1px solid rgba(62,168,255,.35);color:var(--cyan-light);
  font-size:12.5px;font-weight:600;letter-spacing:.5px;margin-bottom:18px;text-transform:uppercase}
.eyebrow.gold{background:rgba(255,207,91,.10);border-color:rgba(255,207,91,.35);color:var(--gold)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan)}

/* ---------- accessibilité ---------- */
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;z-index:100;background:var(--blue);color:#fff;
  padding:10px 18px;border-radius:10px;transition:top .2s}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--cyan-light);outline-offset:3px;border-radius:4px}
.hp{position:absolute;inset-inline-start:-9999px;opacity:0}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:99px;
  font-weight:600;font-size:14.5px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:none;font-family:inherit}
.btn-primary{background:var(--g-blue);color:#fff;box-shadow:0 10px 28px rgba(26,115,255,.45)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(26,115,255,.6)}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid var(--line-2)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-light{background:#fff;color:#0a2a6b}
.btn-light:hover{transform:translateY(-2px)}
.btn-ghost-light{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4)}
.btn-ghost-light:hover{background:rgba(255,255,255,.22)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(4,11,31,.72);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:18px}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:21px;letter-spacing:.5px}
.logo-mark{width:40px;height:40px;border-radius:11px;overflow:hidden;flex:none;box-shadow:0 8px 24px rgba(26,115,255,.45)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--text-dim);font-size:14.5px;font-weight:500;transition:color .2s;padding:4px 0}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a.active{border-bottom:2px solid var(--cyan)}
.nav-right{display:flex;align-items:center;gap:14px}
.lang-switch{display:flex;align-items:center;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:99px;padding:3px}
.lang-switch a{font-size:12.5px;font-weight:600;color:var(--text-faint);padding:5px 10px;border-radius:99px}
.lang-switch a.on{background:var(--blue);color:#fff}
.lang-switch a:hover:not(.on){color:#fff}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.burger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;flex-direction:column;gap:4px;padding:14px 28px 22px;border-top:1px solid var(--line);background:rgba(4,11,31,.97)}
.mobile-menu a{padding:12px 0;font-weight:600;color:var(--text-dim);border-bottom:1px solid var(--line)}
.mobile-menu a:last-child{border:none;margin-top:10px;color:#fff;text-align:center}
.mobile-menu[data-open]{display:flex}

/* ---------- accents (tuiles d'icônes & variantes) ---------- */
.ico-tile{width:50px;height:50px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;
  flex:none;color:#fff;margin-bottom:16px}
.ico-tile svg{width:24px;height:24px}
.ico-tile.sm{width:40px;height:40px;border-radius:12px;margin-bottom:0}
.ico-tile.sm svg{width:19px;height:19px}
.ac-blue.ico-tile,.ac-blue .aw-ico,.ac-blue.tl-node,.ac-blue.j-pin{background:var(--g-blue);box-shadow:0 10px 26px rgba(26,115,255,.4)}
.ac-cyan.ico-tile,.ac-cyan .aw-ico,.ac-cyan.tl-node,.ac-cyan.j-pin{background:var(--g-cyan);box-shadow:0 10px 26px rgba(23,149,216,.4)}
.ac-gold.ico-tile,.ac-gold .aw-ico,.ac-gold.tl-node,.ac-gold.j-pin{background:var(--g-gold);box-shadow:0 10px 26px rgba(255,181,71,.32);color:#3a2800}
.ac-green.ico-tile,.ac-green .aw-ico,.ac-green.tl-node,.ac-green.j-pin{background:var(--g-green);box-shadow:0 10px 26px rgba(23,180,124,.32);color:#03301f}
.ac-violet.ico-tile,.ac-violet .aw-ico,.ac-violet.tl-node,.ac-violet.j-pin{background:var(--g-violet);box-shadow:0 10px 26px rgba(109,77,242,.4)}

/* ---------- hero ---------- */
.hero{padding:80px 0 60px;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero .lead b{color:var(--text)}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* téléphone mockup */
.phone-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:560px}
.phone-stage::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,115,255,.22),transparent 65%);filter:blur(6px)}
.phone{position:relative;width:264px;border-radius:38px;padding:10px;background:linear-gradient(160deg,#1b2b55,#0a1535);
  border:1px solid var(--line-2);box-shadow:0 40px 90px rgba(2,8,26,.8),0 0 0 1px rgba(62,168,255,.12),0 0 60px rgba(26,115,255,.25)}
.phone::before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:86px;height:22px;
  background:#050c22;border-radius:0 0 14px 14px;z-index:4}
.phone>img{border-radius:29px;width:100%}
.phone.phone-back{position:absolute;transform:rotate(-8deg) translateX(-72%) scale(.86);opacity:.6;filter:saturate(.85) brightness(.92)}
[dir=rtl] .phone.phone-back{transform:rotate(8deg) translateX(72%) scale(.86)}

/* badges héro v2 : 6 pastilles STRICTEMENT uniformes + flottement doux */
.phone-chip{position:absolute;display:flex;align-items:center;gap:9px;padding:8px 14px 8px 8px;border-radius:99px;
  background:rgba(9,19,48,.9);backdrop-filter:blur(8px);border:1px solid rgba(62,168,255,.28);
  font-size:13px;font-weight:600;color:var(--text);box-shadow:0 14px 34px rgba(2,8,26,.6),0 0 24px rgba(26,115,255,.12);z-index:3;
  animation:chipFloat 5.2s ease-in-out var(--fd,0s) infinite alternate}
[dir=rtl] .phone-chip{padding:8px 8px 8px 14px}
.phone-chip .ico{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  flex:none;background:var(--g-blue);color:#fff;box-shadow:0 6px 14px rgba(26,115,255,.45)}
.phone-chip .ico svg{width:15px;height:15px}
.phone-chip .ico.zou{overflow:hidden;background:var(--g-blue)}
.phone-chip .ico.zou img{width:28px;height:28px;border-radius:50%}
@keyframes chipFloat{from{transform:translateY(-5px)}to{transform:translateY(6px)}}

/* ---------- écrans d'application (mockups HTML/CSS) ---------- */
.app{position:relative;width:100%;aspect-ratio:244/516;border-radius:29px;overflow:hidden;
  background:#f4f6fa;color:#1b2436;font-size:10.5px;line-height:1.5;display:flex;flex-direction:column;
  text-align:start;pointer-events:none;user-select:none}
.app b,.app h4{font-family:'Inter',system-ui,sans-serif;letter-spacing:0}
[dir=rtl] .app b,[dir=rtl] .app h4{font-family:inherit}
.app svg{flex:none}
.a-sb{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;
  padding:9px 18px 4px;font-size:10px;font-weight:700;color:#1b2436}
.a-sb .a-sbi{display:flex;align-items:center}
.a-nav{margin-top:auto;position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-around;
  padding:7px 8px 10px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-top:1px solid #e6eaf2}
.a-ni{display:flex;flex-direction:column;align-items:center;gap:2px;color:#96a0b5;font-size:7.6px;font-weight:600;width:44px}
.a-ni svg{width:16px;height:16px}
.a-ni i{font-style:normal}
.a-ni.on{color:#1a73ff}
.a-fab{width:44px;height:44px;border-radius:50%;background:var(--g-blue);display:flex;align-items:center;justify-content:center;
  margin-top:-24px;box-shadow:0 8px 18px rgba(26,115,255,.45);border:3px solid #fff}
.a-fab img{width:34px;height:34px;border-radius:50%}
.a-srch{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e2e7f0;border-radius:99px;
  padding:8px 12px;color:#8d97ac;font-weight:500;box-shadow:0 6px 18px rgba(15,30,80,.08)}
.a-srch svg{width:13px;height:13px}
.a-srch span{flex:1;white-space:nowrap;overflow:hidden}
.a-srch .a-srmic{flex:none;color:#1a73ff}
.a-cta{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--g-blue);color:#fff;
  font-weight:700;font-size:9.5px;border-radius:99px;padding:7px 12px;box-shadow:0 6px 14px rgba(26,115,255,.35);white-space:nowrap}
.a-cta svg{width:11px;height:11px}
.a-cta.sm{padding:5.5px 10px;font-size:8.8px}
.a-cta.big{padding:9px 16px;font-size:10.5px;border-radius:12px}
.a-cta.gold{background:var(--g-gold);color:#3a2800;box-shadow:0 6px 14px rgba(255,181,71,.35)}
.a-tag{display:inline-flex;align-items:center;background:#e7f0ff;color:#1a5fd6;font-size:8px;font-weight:700;
  border-radius:99px;padding:2.5px 7px;white-space:nowrap}
.a-tag.inv{background:rgba(255,255,255,.2);color:#fff}
.a-stars{display:inline-flex;align-items:center;gap:3px;color:#f5a623;font-size:8.6px;font-weight:700}
.a-stars svg{width:10px;height:10px;fill:#f5a623;stroke:#f5a623}
.a-stars b{color:#1b2436}
.a-price{font-weight:800;color:#1b2436;font-size:10px;white-space:nowrap}
.a-thumb{width:36px;height:36px;border-radius:10px;overflow:hidden;flex:none}
.a-thumb svg{width:100%;height:100%;display:block}
.a-th{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 6px}
.a-th h4{font-size:15px;font-weight:800}
.a-thn{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #e2e7f0;display:flex;align-items:center;justify-content:center;color:#4a5670}
.a-thn svg{width:13px;height:13px}
.a-licard{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e9edf4;border-radius:13px;
  padding:8px 10px;margin:4px 14px 0;box-shadow:0 4px 12px rgba(15,30,80,.05)}
.a-poitxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.a-poitxt b{font-size:9.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-poitxt>span{color:#8d97ac;font-size:8.6px;white-space:nowrap;overflow:hidden}

/* écran carte */
.a-map .a-mapbg{position:absolute;inset:0}
.a-mapsvg{width:100%;height:100%;display:block}
.a-map .a-sb{text-shadow:0 1px 3px rgba(255,255,255,.8)}
.a-map .a-srch{position:absolute;top:34px;inset-inline:14px;z-index:3}
.a-poicard{position:absolute;bottom:64px;inset-inline:12px;z-index:3;display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.97);border-radius:15px;padding:9px 10px;box-shadow:0 12px 30px rgba(10,20,50,.18)}
.a-rtdash{animation:routeFlow 1.6s linear infinite}
@keyframes routeFlow{to{stroke-dashoffset:-16}}

/* écran accueil */
.a-hh{position:relative;padding:6px 16px 14px;background:linear-gradient(160deg,#123c8f,#1a73ff 70%,#2f8fff);color:#fff;
  border-radius:0 0 22px 22px}
.a-home .a-sb{color:#fff}
.a-brand{display:flex;align-items:center;gap:7px;font-size:10px}
.a-brand b{font-size:10.5px}
.a-bdot{width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:8.5px}
.a-hbell{margin-inline-start:auto;position:relative;color:#fff}
.a-hbell svg{width:14px;height:14px}
.a-hbell::after{content:'';position:absolute;top:0;inset-inline-end:-1px;width:5px;height:5px;border-radius:50%;background:#ffcf5b}
.a-hh h4{font-size:16.5px;font-weight:800;margin:8px 0 9px}
.a-srch.in-h{border:none;box-shadow:none;background:rgba(255,255,255,.16);color:rgba(255,255,255,.75)}
.a-zban{display:flex;align-items:center;gap:8px;margin:12px 14px 0;background:linear-gradient(135deg,#0d2a66,#173f8f);
  color:#fff;border-radius:14px;padding:9px 11px;box-shadow:0 10px 24px rgba(13,42,102,.35)}
.a-zban img{border-radius:50%;flex:none}
.a-zban div{flex:1;min-width:0;display:flex;flex-direction:column}
.a-zban b{font-size:10px}
.a-zban span{font-size:8.6px;color:#a9c6ff;white-space:nowrap;overflow:hidden}
.a-zgo{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex:none}
.a-zgo svg{width:11px;height:11px}
.a-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 14px 0}
.a-cats span{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:1px solid #e9edf4;
  border-radius:12px;padding:8px 2px;color:#1a5fd6;font-size:7.8px;font-weight:600}
.a-cats span i{font-style:normal;color:#4a5670}
.a-cats svg{width:15px;height:15px}
.a-sec{margin:12px 16px 2px;font-size:8.6px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#8d97ac}

/* écran fiche lieu */
.a-place{background:#fff}
.a-phero{position:relative;height:200px;flex:none}
.a-phero svg{position:absolute;inset:0;width:100%;height:100%}
.a-back,.a-hrt{position:absolute;top:12px;width:26px;height:26px;border-radius:50%;background:rgba(10,20,50,.4);
  backdrop-filter:blur(4px);color:#fff;display:flex;align-items:center;justify-content:center}
.a-back{inset-inline-start:12px}
.a-back svg{width:13px;height:13px;transform:rotate(180deg)}
[dir=rtl] .a-back svg{transform:none}
.a-hrt{inset-inline-end:12px}
.a-hrt svg{width:13px;height:13px}
.a-open{position:absolute;bottom:10px;inset-inline-start:12px;background:rgba(10,25,60,.55);backdrop-filter:blur(4px);
  color:#7dffc0;font-size:8.4px;font-weight:700;border-radius:99px;padding:3px 9px}
.a-pbody{padding:11px 15px 6px}
.a-pbody h4{font-size:15.5px;font-weight:800}
.a-pmeta{display:flex;align-items:center;gap:7px;margin-top:5px;flex-wrap:wrap;font-size:8.8px;color:#5a657d}
.a-rev{color:#96a0b5}
.a-pdesc{margin-top:8px;color:#5a657d;font-size:9.3px;line-height:1.55}
.a-amen{display:flex;gap:7px;margin-top:9px}
.a-amen span{display:inline-flex;align-items:center;gap:4px;font-size:8.4px;font-weight:600;color:#1a5fd6;
  background:#eef4ff;border-radius:9px;padding:4px 8px}
.a-amen svg{width:11px;height:11px}
.a-book{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 15px 13px;
  border-top:1px solid #edf0f6;background:#fff}
.a-book div{display:flex;flex-direction:column;line-height:1.25}
.a-book span{font-size:8.4px;color:#8d97ac}
.a-book b{font-size:14px;font-weight:800}

/* écran marché */
.a-filt{display:flex;gap:6px;padding:4px 14px 8px;overflow:hidden}
.a-filt span{flex:none;font-size:8.6px;font-weight:600;color:#4a5670;background:#fff;border:1px solid #e2e7f0;border-radius:99px;padding:4.5px 10px}
.a-filt span.on{background:#12275c;border-color:#12275c;color:#fff}
.a-mcard{display:flex;gap:9px;background:#fff;border:1px solid #e9edf4;border-radius:14px;padding:9px;margin:5px 14px 0;
  box-shadow:0 4px 12px rgba(15,30,80,.05)}
.a-mthumb{width:46px;height:46px;border-radius:11px;overflow:hidden;flex:none}
.a-mthumb svg{width:100%;height:100%}
.a-mtxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.a-mrow{display:flex;align-items:center;justify-content:space-between;gap:6px}
.a-mrow b{font-size:9.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-mtxt>span{color:#8d97ac;font-size:8.6px;white-space:nowrap;overflow:hidden}
.a-mrow2{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:3px}

/* écran agenda */
.a-days{display:flex;gap:5px;padding:2px 14px 8px}
.a-days span{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;background:#fff;border:1px solid #e2e7f0;
  border-radius:10px;padding:5px 0;color:#4a5670}
.a-days i{font-style:normal;font-size:7px;font-weight:600;text-transform:uppercase;color:#96a0b5}
.a-days b{font-size:10px}
.a-days span.on{background:var(--g-blue);border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(26,115,255,.35)}
.a-days span.on i{color:rgba(255,255,255,.8)}
.a-feat{position:relative;margin:4px 14px 0;border-radius:16px;overflow:hidden;display:flex;min-height:118px}
.a-fart{position:absolute;inset:0}
.a-fart svg{width:100%;height:100%}
.a-ftxt{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:4px;justify-content:flex-end;
  padding:11px 12px;color:#fff;width:100%;background:linear-gradient(180deg,transparent 15%,rgba(8,4,26,.82))}
.a-ftxt b{font-size:12px;font-weight:800}
.a-ftxt>span{font-size:8.6px;color:#cfc4f5}
.a-ftxt .a-cta{margin-top:4px}

/* écran billets */
.a-tkt{margin:6px 14px 0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e9edf4;box-shadow:0 10px 26px rgba(15,30,80,.09)}
.a-tart{position:relative;height:86px}
.a-tart>svg{position:absolute;inset:0;width:100%;height:100%}
.a-tover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:9px 12px;
  background:linear-gradient(180deg,transparent 20%,rgba(8,4,26,.8));color:#fff}
.a-tover b{font-size:12px;font-weight:800}
.a-tover span{font-size:8.6px;color:#cfc4f5}
.a-tbody{padding:9px 12px 11px;display:flex;flex-direction:column;gap:7px}
.a-trow{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8.8px;color:#5a657d;font-weight:600}
.a-trow span{display:inline-flex;align-items:center;gap:4px}
.a-trow svg{width:11px;height:11px;color:#1a5fd6}
.a-tstate{color:#0e9f6e!important}
.a-tstate svg{color:#0e9f6e!important}
.a-perf{position:relative;border-top:2px dashed #dfe4ee;margin:2px -22px}
.a-perf::before,.a-perf::after{content:'';position:absolute;top:-7px;width:14px;height:14px;border-radius:50%;background:#f4f6fa}
.a-perf::before{inset-inline-start:2px}
.a-perf::after{inset-inline-end:2px}
.a-tkt .a-cta.big{align-self:stretch}

/* écran Zou */
.a-chat{background:linear-gradient(180deg,#eef3fb,#f7f8fc)}
.a-zh{display:flex;align-items:center;gap:9px;padding:8px 14px 9px;background:#fff;border-bottom:1px solid #e9edf4}
.a-zh img{border-radius:50%;flex:none}
.a-zh div{flex:1;display:flex;flex-direction:column;line-height:1.3}
.a-zh b{font-size:11.5px;font-weight:800}
.a-zh span{font-size:8.4px;color:#0e9f6e;font-weight:600}
.a-conv{display:flex;flex-direction:column;gap:8px;padding:12px 12px 0;overflow:hidden}
.a-bub{max-width:82%;border-radius:14px;padding:7px 10px;font-size:9.3px;line-height:1.5}
.a-bub.me{align-self:flex-end;background:var(--g-blue);color:#fff;border-end-end-radius:4px}
.a-zrow{display:flex;align-items:flex-end;gap:6px}
.a-zrow img{border-radius:50%;flex:none;margin-bottom:2px}
.a-bub.zou{background:#fff;border:1px solid #e9edf4;border-end-start-radius:4px;box-shadow:0 4px 12px rgba(15,30,80,.05)}
.a-rec{display:flex;align-items:center;gap:7px;background:#f2f6fd;border-radius:10px;padding:6px 8px;margin-top:6px}
.a-rart{width:34px;height:34px;border-radius:8px;overflow:hidden;flex:none}
.a-rart svg{width:100%;height:100%}
.a-rec div{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.a-rec b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-rec span{font-size:8px;color:#8d97ac}
.a-quick{display:flex;gap:6px}
.a-quick span{display:inline-flex;align-items:center;gap:4px;font-size:8.6px;font-weight:700;color:#1a5fd6;
  background:#fff;border:1px solid #cfe0ff;border-radius:99px;padding:5px 10px}
.a-quick svg{width:10px;height:10px}
.a-input{margin-top:auto;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e7f0;border-radius:99px;
  padding:8px 8px 8px 14px;margin:10px 12px 12px;color:#96a0b5;font-size:9.3px}
[dir=rtl] .a-input{padding:8px 14px 8px 8px}
.a-input span:first-child{flex:1}
.a-imic{width:24px;height:24px;border-radius:50%;background:var(--g-blue);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.a-imic svg{width:12px;height:12px}

/* ---------- bandeau partenaires ---------- */
.partners{padding:34px 0 10px;text-align:center}
.partners p{color:var(--text-faint);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;margin-bottom:20px}
.partners-row{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.partners-row span{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:8px 16px;height:48px}
.partners-row img{height:26px;width:auto}

/* ---------- cartes génériques ---------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden;
  transition:transform .25s,border-color .25s,background .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);border-color:var(--line-2);background:var(--card-2);box-shadow:0 18px 44px rgba(2,8,26,.5)}
.card .top-line{position:absolute;top:0;inset-inline:0;height:3px;background:var(--g-blue)}
.card .top-line.gold{background:var(--g-gold)}
.card .kicker{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--cyan-light);text-transform:uppercase;margin-bottom:10px}
.card h3{font-size:24px;margin-bottom:4px}
.card p{color:var(--text-dim);font-size:14.5px}
.center-note{text-align:center;color:var(--text-dim);margin-top:34px;font-size:15px}
.center-note b{color:var(--text)}
/* décalage progressif de la révélation dans les grilles */
.js .cards-2>.reveal:nth-child(2),.js .cards-3>.reveal:nth-child(2),.js .cards-4>.reveal:nth-child(2),.js .cards-5>.reveal:nth-child(2){transition-delay:.08s}
.js .cards-3>.reveal:nth-child(3),.js .cards-4>.reveal:nth-child(3),.js .cards-5>.reveal:nth-child(3){transition-delay:.16s}
.js .cards-4>.reveal:nth-child(4),.js .cards-5>.reveal:nth-child(4){transition-delay:.24s}
.js .cards-5>.reveal:nth-child(5){transition-delay:.32s}

/* ---------- rangée 5 éditions (accueil) ---------- */
.cards-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cards-5 .card{padding:22px 18px;display:flex;flex-direction:column}
.cards-5 .card h3{font-size:16px}
.cards-5 .card p{font-size:12.5px;color:var(--text-dim);line-height:1.55;margin-bottom:14px}
.cards-5 .card .kicker{font-size:10.5px}
.cards-5 .ed-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--cyan-light)}
.cards-5 .ed-go svg{width:14px;height:14px;transition:transform .2s}
.cards-5 .card:hover .ed-go svg{transform:translateX(3px)}
[dir=rtl] .cards-5 .ed-go svg{transform:rotate(180deg)}
[dir=rtl] .cards-5 .card:hover .ed-go svg{transform:rotate(180deg) translateX(3px)}
.cards-5 .ico-tile{width:42px;height:42px;border-radius:13px;margin-bottom:14px}
.cards-5 .ico-tile svg{width:20px;height:20px}

/* ---------- vitrine app (écrans) ---------- */
.showcase{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;margin-top:10px}
.shot{width:228px}
.shot .phone{width:228px;padding:8px;border-radius:32px}
.shot .phone::before{width:70px;height:18px}
.shot .phone>img{border-radius:25px}
.shot .app{border-radius:25px;font-size:9.8px}
.shot figcaption{text-align:center;margin-top:14px;font-size:14px;color:var(--text-dim);font-weight:600}

/* ---------- section Zou ---------- */
.zou-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
.zou-visual{display:flex;justify-content:center;position:relative}
.zou-visual .phone-stage{min-height:0}
.zou-sticker{position:absolute;bottom:-6%;inset-inline-end:-4%;width:150px;background:#fff;border-radius:20px;padding:10px 10px 8px;
  box-shadow:0 24px 60px rgba(2,8,26,.65),0 0 0 1px rgba(62,168,255,.15);z-index:4;
  animation:chipFloat 6s ease-in-out .8s infinite alternate}
.zou-sticker img{border-radius:12px}
.zou-sticker figcaption{font-size:10.5px;font-weight:700;color:#22335c;text-align:center;padding-top:6px}
.mini-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}
.mini-card{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:15px;padding:16px;
  transition:border-color .25s,background .25s}
.mini-card:hover{border-color:var(--line-2);background:var(--card-2)}
.mini-card h3{font-size:15px;margin-bottom:3px}
.mini-card p{color:var(--text-dim);font-size:13.5px;line-height:1.5}
.js .mini-cards>.reveal:nth-child(2){transition-delay:.08s}
.js .mini-cards>.reveal:nth-child(3){transition-delay:.16s}
.js .mini-cards>.reveal:nth-child(4){transition-delay:.24s}
/* duo Zou / données (accueil) */
.duo-card{display:grid;grid-template-columns:1fr 190px;gap:20px;align-items:center}
.duo-card .fd-img{border-radius:18px;overflow:hidden;border:1px solid var(--line-2);box-shadow:0 18px 44px rgba(2,8,26,.5)}
.zou-face{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.zou-face img{width:52px;height:52px;border-radius:50%;border:2px solid rgba(62,168,255,.5);box-shadow:0 0 24px rgba(26,115,255,.45)}
.zou-face .zf-name{font-family:'Sora','Inter',sans-serif;font-weight:800;font-size:19px}
[dir=rtl] .zou-face .zf-name{font-family:inherit}
.zou-face .zf-role{display:block;font-size:12px;color:var(--text-faint);font-weight:600;letter-spacing:.6px;text-transform:uppercase}

/* ---------- données ---------- */
.quote{font-family:'Sora','Inter',sans-serif;font-size:clamp(24px,3.2vw,38px);font-weight:800;line-height:1.25;letter-spacing:-.6px;
  text-align:center;max-width:840px;margin:0 auto 18px}
[dir=rtl] .quote{font-family:inherit;letter-spacing:0}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:20px;transition:border-color .25s,background .25s}
.pillar:hover{border-color:var(--line-2);background:var(--card-2)}
.pillar h3{font-size:15px;margin:12px 0 5px}
.pillar p{color:var(--text-dim);font-size:13.5px;line-height:1.5}
.pillar .ico-tile{width:42px;height:42px;border-radius:12px;margin-bottom:0}
.pillar .ico-tile svg{width:20px;height:20px}
.js .pillars>.reveal:nth-child(2){transition-delay:.08s}
.js .pillars>.reveal:nth-child(3){transition-delay:.16s}
.js .pillars>.reveal:nth-child(4){transition-delay:.24s}

/* mini tableau de bord (illustration pilotage) */
.dviz{max-width:860px;margin:44px auto 0;background:linear-gradient(180deg,rgba(13,27,64,.85),rgba(8,17,42,.9));
  border:1px solid var(--line-2);border-radius:20px;padding:20px 22px;box-shadow:0 30px 70px rgba(2,8,26,.6)}
.dv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.dv-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.dv-title svg{width:17px;height:17px;color:var(--cyan)}
.dv-live{font-size:11.5px;font-weight:700;color:var(--green)}
.dv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dv-kpi{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:13px;padding:12px 14px}
.dv-kpi span{display:block;font-size:11px;color:var(--text-faint);font-weight:600}
.dv-kpi b{display:block;font-family:'Sora','Inter',sans-serif;font-size:22px;font-weight:800;margin-top:2px}
[dir=rtl] .dv-kpi b{font-family:inherit}
.dv-kpi i{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:11px;font-weight:700;color:var(--text-faint);margin-top:3px}
.dv-kpi i.up{color:var(--green)}
.dv-kpi i svg{width:12px;height:12px}
.dv-charts{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-top:12px}
.dv-panel{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:13px;padding:12px 14px}
.dv-panel>p{font-size:11px;color:var(--text-faint);font-weight:600;margin-bottom:8px}
.dv-panel svg{width:100%;height:auto;display:block}
.dv-donut{display:flex;align-items:center;gap:12px}
.dv-donut>svg{width:96px;height:96px;flex:none}
.dv-leg{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--text-dim)}
.dv-leg span{display:flex;align-items:center;gap:7px}
.dv-leg i{width:9px;height:9px;border-radius:3px;flex:none}

/* ---------- parcours « itinéraire » (plateforme) ---------- */
.journey{position:relative;padding-top:6px}
.j-road{position:absolute;top:34px;left:0;width:100%;height:150px;pointer-events:none}
.j-base{stroke:rgba(255,255,255,.10);stroke-width:3}
.j-dash{stroke:url(#jgrad),#3ea8ff;stroke:#3ea8ff;stroke-width:2.4;stroke-dasharray:10 12;stroke-dashoffset:400;
  transition:stroke-dashoffset 2.4s ease .3s;opacity:.9}
.journey.in .j-dash{stroke-dashoffset:0}
.j-steps,.journey{display:grid}
.journey{grid-template-columns:repeat(4,1fr);gap:18px}
.j-road{grid-column:1/-1}
.j-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:0}
.j-step:nth-child(odd){margin-top:56px}
.j-step:nth-child(even){margin-top:110px}
.j-step.js-1{margin-top:96px}
.j-step.js-2{margin-top:22px}
.j-step.js-3{margin-top:64px}
.j-step.js-4{margin-top:110px}
.j-pin{width:52px;height:52px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;
  border:3px solid rgba(255,255,255,.9);margin-bottom:18px;color:#fff}
.j-pin svg{width:22px;height:22px;transform:rotate(45deg)}
.j-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 16px;transition:border-color .25s,background .25s}
.j-card:hover{border-color:var(--line-2);background:var(--card-2)}
.j-card h3{font-size:15px;margin-bottom:6px}
.j-card p{color:var(--text-dim);font-size:13.5px;line-height:1.55}

/* ---------- offre / paliers ---------- */
.tier .price-name{font-family:'Sora',sans-serif;font-size:24px;font-weight:800;margin:2px 0 10px}
[dir=rtl] .tier .price-name{font-family:inherit}
.tier ul{list-style:none;margin-top:16px;display:grid;gap:9px}
.tier li{position:relative;padding-inline-start:26px;color:var(--text-dim);font-size:14px}
.tier li::before{content:'✓';position:absolute;inset-inline-start:0;color:var(--green);font-weight:700}
.tier.featured{border-color:rgba(62,168,255,.5);background:linear-gradient(180deg,rgba(26,115,255,.10),var(--card))}

/* ---------- livrables ---------- */
.deliv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.js .deliv-grid>.reveal:nth-child(2){transition-delay:.08s}
.js .deliv-grid>.reveal:nth-child(3){transition-delay:.16s}
.js .deliv-grid>.reveal:nth-child(4){transition-delay:.24s}
/* capture / console en cadre navigateur */
.bshot{margin:44px auto 0;max-width:1060px;border-radius:16px;border:1px solid var(--line-2);overflow:hidden;
  box-shadow:0 34px 80px rgba(2,8,26,.75),0 0 60px rgba(26,115,255,.12);background:#0d1733}
.b-bar{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#101d40;border-bottom:1px solid var(--line)}
.b-dots{display:flex;gap:6px}
.b-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.14)}
.b-dots i:first-child{background:#ff6159}.b-dots i:nth-child(2){background:#ffbd2e}.b-dots i:last-child{background:#28c840}
.b-url{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border-radius:8px;padding:4px 14px;
  font-size:12px;color:var(--text-faint);font-weight:500}
.b-url svg{width:11px;height:11px;color:var(--green)}
.bshot img{width:100%;display:block}

/* console back-office vectorielle (gestion contenus & événements) */
.boc{aspect-ratio:16/10;display:flex;background:#f4f6fa;color:#1b2436;font-size:11px;overflow:hidden;text-align:start}
.boc-side{width:23%;min-width:158px;background:#0c1a3d;color:#c9d4ee;display:flex;flex-direction:column;padding:15px 13px}
.boc-brand{display:flex;align-items:center;gap:7px;padding:2px 4px 13px}
.boc-logo{width:23px;height:23px;border-radius:7px;background:var(--g-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.boc-brand b{font-size:13px;color:#fff}
.boc-adm{font-size:7.5px;font-weight:800;letter-spacing:1px;background:rgba(255,255,255,.12);padding:2px 6px;border-radius:5px;margin-inline-start:auto}
.boc-tenant{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px 9px;margin-bottom:12px}
.boc-tav{width:25px;height:25px;border-radius:7px;background:linear-gradient(135deg,#0e7a5f,#17b47c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:9.5px;flex:none}
.boc-tenant>div{flex:1;min-width:0;line-height:1.25}
.boc-tenant b{display:block;font-size:10.5px;color:#fff}
.boc-tenant i{font-style:normal;font-size:8px;color:#8fa0c8}
.boc-tenant>svg{width:13px;height:13px;color:#8fa0c8;flex:none}
.boc-nav{display:flex;flex-direction:column;gap:2px}
.boc-nav span{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:10.5px;font-weight:500;color:#aebbd9}
.boc-nav span svg{width:15px;height:15px;flex:none}
.boc-nav span i{font-style:normal;white-space:nowrap}
.boc-nav span.on{background:var(--g-blue);color:#fff;box-shadow:0 6px 14px rgba(26,115,255,.35)}
.boc-un{margin-top:auto;display:flex;align-items:center;gap:8px;padding-top:11px;border-top:1px solid rgba(255,255,255,.08)}
.boc-uav{width:25px;height:25px;border-radius:50%;background:#3ea8ff;color:#062b5a;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10px;flex:none}
.boc-un div{line-height:1.25}
.boc-un b{display:block;font-size:10px;color:#fff}
.boc-un i{font-style:normal;font-size:8px;color:#8fa0c8}
.boc-main{flex:1;display:flex;flex-direction:column;padding:16px 18px;min-width:0}
.boc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.boc-top h5{font-size:15px;font-weight:800}
.boc-top p{font-size:9.5px;color:#8d97ac;margin-top:2px}
.boc-actions{display:flex;align-items:center;gap:8px;flex:none}
.boc-search{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e7f0;border-radius:8px;padding:6px 11px;color:#8d97ac;font-size:9.5px;white-space:nowrap}
.boc-search svg{width:12px;height:12px}
.boc-create{display:flex;align-items:center;gap:5px;background:var(--g-blue);color:#fff;border-radius:8px;padding:6px 12px;font-size:9.5px;font-weight:700;white-space:nowrap;box-shadow:0 6px 14px rgba(26,115,255,.3)}
.boc-create svg{width:12px;height:12px}
.boc-table{background:#fff;border:1px solid #e9edf4;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(15,30,80,.05)}
.boc-tr{display:grid;grid-template-columns:2.3fr 1fr 1.1fr .9fr;align-items:center;gap:10px;padding:9px 15px;border-bottom:1px solid #eef1f6;font-size:10px}
.boc-tr:last-child{border-bottom:none}
.boc-th{background:#f7f9fc;font-size:8.4px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#96a0b5}
.boc-name{display:flex;align-items:center;gap:10px;min-width:0}
.boc-name b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.boc-th2{width:32px;height:32px;border-radius:8px;overflow:hidden;flex:none}
.boc-th2 svg{width:100%;height:100%;display:block}
.boc-type{color:#5a657d;white-space:nowrap}
.boc-date{color:#96a0b5;white-space:nowrap}
.boc-st{justify-self:start;display:inline-flex;align-items:center;gap:5px;font-size:8.6px;font-weight:700;border-radius:99px;padding:3px 10px;white-space:nowrap}
.boc-st::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.boc-st.pub{background:#e5f7ef;color:#0e9f6e}
.boc-st.wait{background:#fff3e0;color:#c77700}
.boc-st.draft{background:#eef1f6;color:#7a8699}
/* dashboard d'accueil back-office */
.boc-range{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e2e7f0;border-radius:8px;padding:6px 10px;color:#5a657d;font-size:9.5px;font-weight:600;white-space:nowrap}
.boc-range svg{width:12px;height:12px}
.boc-bell{width:28px;height:28px;border-radius:8px;background:#fff;border:1px solid #e2e7f0;display:flex;align-items:center;justify-content:center;color:#5a657d;flex:none}
.boc-bell svg{width:13px;height:13px}
.bod-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:11px}
.bod-kpi{background:#fff;border:1px solid #e9edf4;border-radius:11px;padding:10px 12px;box-shadow:0 4px 12px rgba(15,30,80,.04)}
.bod-kpi>span{display:block;font-size:8.6px;color:#8d97ac;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bod-kpi>b{display:block;font-size:17px;font-weight:800;margin-top:3px;letter-spacing:-.3px}
.bod-kpi>i{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:8.6px;font-weight:700;color:#96a0b5;margin-top:3px}
.bod-kpi>i.up{color:#0e9f6e}
.bod-kpi>i svg{width:11px;height:11px}
.bod-kpi>i:not(.up) svg{fill:#f5a623;stroke:#f5a623;color:#f5a623}
.bod-charts{display:grid;grid-template-columns:1.7fr 1fr;gap:10px}
.bod-panel{background:#fff;border:1px solid #e9edf4;border-radius:12px;padding:11px 13px;box-shadow:0 4px 12px rgba(15,30,80,.04)}
.bod-ph{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.bod-ph p,.bod-todo>p{font-size:9.6px;font-weight:700;color:#4a5670}
.bod-peak{font-size:8.2px;font-weight:700;color:#c77700;background:#fff3e0;border-radius:99px;padding:2px 8px;white-space:nowrap}
.bod-bars{width:100%;height:auto;display:block}
.bod-todo>p{margin-bottom:6px}
.bod-ti{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #eef1f6;font-size:9.4px}
.bod-ti:first-of-type{border-top:none}
.bod-tdot{width:7px;height:7px;border-radius:50%;flex:none}
.bod-tdot.red{background:#ef5350}.bod-tdot.orange{background:#f5a623}.bod-tdot.grey{background:#9aa6bd}
.bod-ti b{flex:1;font-weight:600;color:#3a4560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bod-ti i{font-style:normal;font-size:8.8px;font-weight:700;color:#1a5fd6;white-space:nowrap}
@media(max-width:640px){.boc{font-size:9px}.boc-side{width:34%;min-width:0;padding:10px 8px}.boc-nav span i,.boc-tenant>div,.boc-un div{display:none}.boc-tr{grid-template-columns:2fr 1fr .8fr}.boc-date{display:none}
  .bod-kpis{grid-template-columns:1fr 1fr}.bod-charts{grid-template-columns:1fr}}

/* ---------- scènes d'édition ---------- */
.ed-art{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);
  box-shadow:0 26px 60px rgba(2,8,26,.55);margin-bottom:34px}
.ed-art svg,.ed-art img{width:100%;height:auto;display:block}
.ed-photo::after{content:'';position:absolute;inset-inline:0;bottom:0;height:42%;pointer-events:none;
  background:linear-gradient(transparent,rgba(4,11,31,.55))}
.ed-art-label{position:absolute;z-index:1;bottom:14px;inset-inline-start:16px;background:rgba(6,13,34,.72);backdrop-filter:blur(6px);
  border:1px solid rgba(62,168,255,.3);color:var(--text);font-size:12.5px;font-weight:700;border-radius:99px;padding:7px 15px}
/* visuel data (illustration générée) */
.data-visual{max-width:920px;margin:44px auto 0;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);
  box-shadow:0 30px 70px rgba(2,8,26,.6),0 0 60px rgba(26,115,255,.1)}
.data-visual img{width:100%;height:auto;display:block}

/* ---------- Djerba ---------- */
.djerba{background:linear-gradient(180deg,rgba(26,115,255,.07),transparent);border-block:1px solid var(--line)}
.djerba-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.stats{display:flex;gap:36px;margin-top:30px;flex-wrap:wrap}
.stat b{display:block;font-family:'Sora',sans-serif;font-size:26px;font-weight:800}
[dir=rtl] .stat b{font-family:inherit}
.stat span{color:var(--text-faint);font-size:13px}
.djerba-card{background:var(--card);border:1px solid var(--line-2);border-radius:var(--radius);padding:34px;text-align:center}
.djerba-card img{margin:0 auto 18px;width:130px}
.djerba-card .powered{color:var(--text-faint);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:600;margin-top:8px}
.status-chip{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 16px;border-radius:99px;
  background:rgba(61,220,151,.10);border:1px solid rgba(61,220,151,.45);color:var(--green);font-size:13px;font-weight:700}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:600;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:20px;color:var(--cyan-light);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 20px;color:var(--text-dim);font-size:14.5px}

/* ---------- contact ---------- */
.contact{padding:90px 0}
.contact-card{background:linear-gradient(135deg,#1a5cff,#2f8fff);border-radius:26px;padding:56px 48px;position:relative;overflow:hidden;
  box-shadow:0 40px 100px rgba(26,92,255,.35)}
.contact-card::before{content:'';position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:44px 44px;pointer-events:none}
.contact-card h2{text-align:center}
.contact-lead{text-align:center;max-width:560px;margin:0 auto 34px;color:rgba(255,255,255,.85)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative}
.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:rgba(255,255,255,.9)}
.form-grid input,.form-grid select,.form-grid textarea{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:11px;padding:12px 14px;
  color:#fff;font-family:inherit;font-size:14.5px;transition:border-color .2s,background .2s}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:rgba(255,255,255,.5)}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.18)}
.form-grid select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
[dir=rtl] .form-grid select{background-position:left 14px center}
.form-grid select option{color:#0a2a6b;background:#fff}
.form-full{grid-column:1/-1}
.form-actions{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:26px;flex-wrap:wrap;position:relative}
.form-or{color:rgba(255,255,255,.7);font-size:13px}
.form-status{text-align:center;margin-top:18px;font-weight:600;min-height:1.4em;position:relative}
.form-status.ok{color:#d9ffe9}
.form-status.ko{color:#ffe0e0}
.contact-alt{text-align:center;margin-top:22px;color:rgba(255,255,255,.85);font-size:14.5px;position:relative}
.contact-alt a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.cta-band{text-align:center;padding:46px 40px}
.cta-band .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}

/* ---------- porte plaquette (téléchargement après email) ---------- */
.brochure-gate{max-width:860px;margin:0 auto;background:var(--card);border:1px solid var(--line-2);border-radius:20px;
  padding:32px 34px;box-shadow:0 24px 60px rgba(2,8,26,.4)}
.bg-intro{display:flex;gap:18px;align-items:flex-start}
.bg-ico{flex:none;width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;
  background:var(--g-blue);box-shadow:0 10px 26px rgba(26,115,255,.4)}
.bg-ico svg{width:26px;height:26px}
.bg-intro h2{font-size:clamp(22px,2.6vw,28px);margin:6px 0 8px}
.bg-intro .lead{font-size:15.5px}
.bg-form{margin-top:22px}
.bg-row{display:flex;gap:12px}
.bg-row input{flex:1;min-width:0;background:rgba(255,255,255,.06);border:1px solid var(--line-2);border-radius:99px;
  padding:13px 20px;color:var(--text);font-family:inherit;font-size:15px;transition:border-color .2s,background .2s}
.bg-row input::placeholder{color:var(--text-faint)}
.bg-row input:focus{outline:none;border-color:var(--cyan);background:rgba(255,255,255,.1)}
.bg-row .btn{flex:none;white-space:nowrap}
.bg-status{margin-top:14px;font-weight:600;font-size:14px;min-height:1.2em}
.bg-status.ok{color:var(--green)}
@media(max-width:600px){.brochure-gate{padding:24px 20px}.bg-intro{flex-direction:column;gap:12px}.bg-row{flex-direction:column}.bg-row .btn{width:100%}}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);padding:56px 0 30px;background:rgba(2,6,18,.5)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
.footer-brand p{color:var(--text-faint);font-size:13.5px;margin-top:16px;max-width:280px}
.footer-grid h3{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-faint);margin-bottom:14px}
.footer-grid nav{display:flex;flex-direction:column;gap:9px}
.footer-grid nav a{color:var(--text-dim);font-size:14px}
.footer-grid nav a:hover{color:#fff}
.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;color:var(--text-faint);font-size:13px}
.socials{display:flex;gap:10px}
.socials a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:var(--text-dim);transition:background .2s,color .2s}
.socials a:hover{background:var(--card-2);color:#fff}

/* ---------- À propos : mission ---------- */
.mission-state{max-width:900px;margin:0 auto;text-align:center}
.mission-state .ms-kicker{display:block;font-size:13px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--text-faint);margin-bottom:22px}
.mission-state p{font-family:'Sora','Inter',sans-serif;font-size:clamp(28px,4.4vw,52px);font-weight:800;line-height:1.16;letter-spacing:-1px}
[dir=rtl] .mission-state p{font-family:inherit;letter-spacing:0}
.mission-state .ms-under{position:relative;display:inline-block}
.mission-state .ms-under::after{content:'';position:absolute;inset-inline:0;bottom:4px;height:10px;border-radius:6px;
  background:linear-gradient(90deg,rgba(62,168,255,.35),rgba(255,207,91,.35));z-index:-1;transform:scaleX(0);transform-origin:0 50%;
  transition:transform 1s ease .4s}
.js .in .ms-under::after,.no-js .ms-under::after{transform:scaleX(1)}
html:not(.js) .ms-under::after{transform:scaleX(1)}
.mission-vision{max-width:780px;margin:44px auto 0;background:linear-gradient(135deg,rgba(26,115,255,.12),rgba(255,207,91,.06));
  border:1px solid var(--line-2);border-radius:20px;padding:30px 34px;position:relative;overflow:hidden}
.mission-vision::before{content:'';position:absolute;top:0;inset-inline:0;height:3px;background:linear-gradient(90deg,#1a73ff,#3ea8ff,#ffcf5b)}
.mission-vision .kicker{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.mission-vision p{font-size:17.5px;line-height:1.65;color:var(--text-dim)}
.mission-vision p b{color:var(--text)}
.value-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.value-tile{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;transition:transform .25s,border-color .25s,background .25s}
.value-tile:hover{transform:translateY(-4px);border-color:var(--line-2);background:var(--card-2)}
.value-tile h3{font-size:15.5px;margin:14px 0 6px}
.value-tile p{color:var(--text-dim);font-size:13.5px;line-height:1.55}
.value-tile .ico-tile{margin-bottom:0}
.js .value-tiles>.reveal:nth-child(2){transition-delay:.08s}
.js .value-tiles>.reveal:nth-child(3){transition-delay:.16s}
.js .value-tiles>.reveal:nth-child(4){transition-delay:.24s}

/* ---------- À propos : fondateurs ---------- */
.founder-grid img.founder-photo{border-radius:50%;border:3px solid rgba(255,255,255,.22);
  filter:grayscale(1) contrast(1.06);transition:filter .5s ease,border-color .5s ease}
.founder-grid img.founder-photo:hover{filter:grayscale(0);border-color:rgba(62,168,255,.5)}

/* ---------- À propos : presse ---------- */
.press{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s,border-color .25s,background .25s}
.press:hover{transform:translateY(-4px);border-color:var(--line-2);background:var(--card-2)}
.pr-mark{position:absolute;top:2px;inset-inline-end:14px;font-family:'Sora',Georgia,serif;font-size:74px;line-height:1;opacity:.14;font-weight:800}
.press.ac-blue .pr-mark{color:var(--cyan)}
.press.ac-gold .pr-mark{color:var(--gold)}
.press.ac-violet .pr-mark{color:var(--violet)}
.press.ac-green .pr-mark{color:var(--green)}
.pr-quote{font-size:15px;line-height:1.55;font-weight:600;color:var(--text)}
.pr-foot{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pr-src{font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-faint)}
.pr-foot a{font-size:13px;font-weight:600;color:var(--cyan-light)}
.pr-foot a:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- À propos : distinctions (variété graphique) ---------- */
.awards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.award{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:20px;transition:transform .25s,border-color .25s,background .25s}
.award:hover{transform:translateY(-4px);border-color:var(--line-2);background:var(--card-2)}
.award .aw-ico{width:44px;height:44px;border-radius:50% 50% 50% 8px;display:flex;align-items:center;justify-content:center;flex:none;color:#fff}
.award.ac-gold .aw-ico,.award.ac-green .aw-ico{color:#3a2800}
.award.ac-green .aw-ico{color:#03301f}
.award .aw-ico svg{width:20px;height:20px}
.aw-year{font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--text-faint)}
.award h3{font-size:15px;margin:2px 0 4px}
.award p{color:var(--text-dim);font-size:13px;line-height:1.5}
.award.featured{grid-column:span 1;background:linear-gradient(160deg,rgba(26,115,255,.13),var(--card));border-color:rgba(62,168,255,.35)}
.award.featured.ac-gold{background:linear-gradient(160deg,rgba(255,181,71,.12),var(--card));border-color:rgba(255,207,91,.35)}
.js .awards>.reveal:nth-child(3n+2){transition-delay:.08s}
.js .awards>.reveal:nth-child(3n+3){transition-delay:.16s}

/* ---------- À propos : frise parcours ---------- */
.tl{max-width:720px;margin:0 auto;position:relative;padding-inline-start:34px}
.tl::before{content:'';position:absolute;inset-inline-start:11px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--cyan),var(--blue) 55%,var(--gold))}
.tl-item{position:relative;padding-bottom:26px}
.tl-item:last-child{padding-bottom:0}
.tl-node{position:absolute;inset-inline-start:-34px;top:2px;width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid var(--bg)}
.tl-node svg{width:12px;height:12px}
.tl-card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px 22px;transition:border-color .25s,background .25s}
.tl-card:hover{border-color:var(--line-2);background:var(--card-2)}
.tl-year{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--cyan-light)}
.tl-card h3{font-size:16px;margin:3px 0 5px}
.tl-card p{color:var(--text-dim);font-size:14px}

/* ---------- pages légales / prose ---------- */
.prose{max-width:820px;margin:0 auto;padding:60px 0 80px}
.prose h1{font-size:clamp(28px,4vw,42px)}
.prose h2{font-size:22px;margin:36px 0 12px}
.prose h3{font-size:17px;margin:24px 0 8px}
.prose p,.prose li{color:var(--text-dim);font-size:15px;margin-bottom:12px}
.prose ul{padding-inline-start:22px;margin-bottom:14px}
.prose a{color:var(--cyan-light);text-decoration:underline;text-underline-offset:3px}
.prose .updated{color:var(--text-faint);font-size:13px;margin-bottom:34px}

/* ---------- révélation au scroll (enhancement uniquement) ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn,.card,.press,.award,.value-tile{transition:none}
  .phone-chip,.zou-sticker{animation:none}
  .a-rtdash{animation:none}
  .j-dash{transition:none;stroke-dashoffset:0}
  .mission-state .ms-under::after{transition:none;transform:scaleX(1)}
}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .cards-4,.deliv-grid,.pillars,.value-tiles{grid-template-columns:repeat(2,1fr)}
  .cards-3,.awards{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
  .awards{max-width:560px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-grid,.zou-grid,.djerba-grid{grid-template-columns:1fr;gap:44px}
  .phone-stage{min-height:0;margin-top:10px}
  .phone.phone-back{display:none}
  .journey{grid-template-columns:1fr;gap:14px;max-width:560px;margin:0 auto}
  .j-road{display:none}
  .j-step,.j-step.js-1,.j-step.js-2,.j-step.js-3,.j-step.js-4{margin-top:0;flex-direction:row;text-align:start;align-items:flex-start;gap:16px}
  .j-pin{margin-bottom:0;flex:none}
  .dv-charts{grid-template-columns:1fr}
  .duo-card{grid-template-columns:1fr}
  .duo-card .fd-img{max-width:260px}
  .zou-sticker{inset-inline-end:4%}
}
@media (max-width:760px){
  .nav-links,.nav-cta{display:none}
  .burger{display:flex}
  .section{padding:60px 0}
  .hero{padding:52px 0 40px}
  .cards-4,.deliv-grid,.pillars,.cards-2,.mini-cards,.form-grid,.value-tiles{grid-template-columns:1fr}
  .contact-card{padding:40px 24px}
  .footer-grid{grid-template-columns:1fr}
  .showcase{gap:22px}
  .shot{width:186px}
  .shot .phone{width:186px}
  .shot .app{font-size:8.2px}
  .dv-kpis{grid-template-columns:1fr 1fr}
  .mission-vision{padding:24px}
  .zou-sticker{width:120px}
}
@media(max-width:1080px){.cards-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cards-5{grid-template-columns:1fr}}
