:root {
  --navy:#071f4a; --ink:#17151a; --muted:#647084;
  --blue:#2458f3; --blue2:#3045f4; --cyan:#18c7d8; --violet:#5a52ff;
  --white:#fff; --shadow:0 34px 100px rgba(7,31,74,.18);
}
* { box-sizing:border-box; }
:focus { outline:none; }
:focus-visible { outline:2px solid var(--blue2); outline-offset:3px; }
html { min-height:100%; scroll-behavior:smooth; }
body {
  margin:0; min-height:100vh; overflow-x:hidden; color:var(--ink);
  font-family:Inter,Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:
    radial-gradient(circle at 6% 12%, rgba(48,69,244,.46), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(24,199,216,.52), transparent 30%),
    radial-gradient(circle at 70% 85%, rgba(90,82,255,.22), transparent 35%),
    linear-gradient(135deg,#eef4ff 0%,#fff 42%,#e8fbff 100%);
}
body:before, body:after { content:""; position:fixed; z-index:0; pointer-events:none; }
body:before {
  width:76vw; height:76vw; right:-30vw; top:-24vw; border-radius:44%;
  background:linear-gradient(135deg,rgba(24,199,216,.32),rgba(36,88,243,.25));
  transform:rotate(-18deg); filter:blur(.3px); animation:floatShape 13s ease-in-out infinite alternate;
}
body:after {
  width:92vw; height:38vw; left:-26vw; bottom:-20vw; border-radius:50%;
  background:repeating-radial-gradient(ellipse at center,rgba(36,88,243,.16) 0 1px,transparent 1px 9px);
  opacity:.62; transform:rotate(8deg); animation:waveMove 16s ease-in-out infinite alternate;
}
@keyframes floatShape { from { transform:translate3d(0,0,0) rotate(-18deg); } to { transform:translate3d(-24px,18px,0) rotate(-13deg); } }
@keyframes waveMove { from { transform:translate3d(0,0,0) rotate(8deg); opacity:.50; } to { transform:translate3d(32px,-12px,0) rotate(5deg); opacity:.72; } }

.container { position:relative; z-index:1; width:min(1400px,100%); margin:0 auto; padding:0 20px; }

/* ── Nav ───────────────────────────────────────────────────────────── */
.topnav { position:sticky; top:0; z-index:10; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); background:rgba(255,255,255,.66); border-bottom:1px solid rgba(7,31,74,.06); }
.topnav .container { display:flex; align-items:center; justify-content:space-between; min-height:74px; gap:24px; }
.brand { display:flex; align-items:center; text-decoration:none; }
.brand svg { height:32px; width:auto; display:block; }
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links a { color:var(--navy); text-decoration:none; font-weight:600; font-size:15px; }
.nav-links a:hover { color:var(--blue2); }
.nav-cta { display:flex; gap:12px; }
@media (max-width:860px) { .nav-links { display:none; } .nav-cta { display:none; } }

/* ── Nav mobile ───────────────────────────────────────────────────── */
.nav-burger { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:8px; background:none; border:none; cursor:pointer; border-radius:10px; transition:background .16s ease; }
.nav-burger:hover { background:rgba(7,31,74,.06); }
.nav-burger span { display:block; width:22px; height:2px; border-radius:2px; background:var(--navy); transition:transform .22s ease, opacity .22s ease; }
.nav-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:860px) { .nav-burger { display:flex; } }
.nav-mobile { display:none; flex-direction:column; gap:4px; padding:16px 20px 24px; border-top:1px solid rgba(7,31,74,.06); background:rgba(255,255,255,.97); }
.nav-mobile.open { display:flex; }
.nav-mobile a { color:var(--navy); text-decoration:none; font-weight:600; font-size:16px; padding:10px 12px; border-radius:12px; transition:background .14s ease; }
.nav-mobile a:hover { background:rgba(36,88,243,.07); }
.nav-mobile .nav-mobile-sep { height:1px; background:rgba(7,31,74,.07); margin:6px 0; }
.nav-mobile .btn { margin-top:10px; text-align:center; }

/* ── Nav : menu déroulant "Produit" ───────────────────────────────── */
.nav-dropdown { position:relative; }
.nav-dropdown > a:after { content:"▾"; margin-left:6px; font-size:11px; }
/* Pont invisible qui comble le gap entre le lien et le menu pour garder le :hover actif */
.nav-dropdown::after { content:""; position:absolute; top:100%; left:0; right:0; height:14px; }
.nav-dropdown-menu {
  position:absolute; top:100%; left:50%; z-index:20; margin-top:6px; padding:10px; min-width:240px;
  display:flex; flex-direction:column; gap:2px; transform:translate(-50%,8px);
  border-radius:18px; border:1px solid rgba(7,31,74,.08); background:rgba(255,255,255,.92);
  box-shadow:0 24px 60px rgba(7,31,74,.18); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .16s ease, transform .16s ease;
}
.nav-dropdown-menu a { padding:10px 14px; border-radius:12px; font-size:14px; }
.nav-dropdown-menu a:hover { background:rgba(36,88,243,.08); }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu {
  opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
}

/* ── Boutons / badges / textes communs ───────────────────────────────── */
.badge {
  display:inline-flex; align-items:center; gap:11px; margin-bottom:18px; padding:10px 15px;
  border:1px solid rgba(36,88,243,.14); border-radius:999px; color:var(--navy); background:rgba(255,255,255,.74);
  font-size:14px; font-weight:650; letter-spacing:.01em;
}
.badge:before { content:""; width:10px; height:10px; border-radius:99px; background:linear-gradient(135deg,var(--cyan),var(--blue2)); box-shadow:0 0 0 7px rgba(24,199,216,.15); }
.gradient-text { background:linear-gradient(135deg,var(--navy),var(--blue2) 58%,var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:0.1em; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.actions { display:flex; flex-wrap:wrap; gap:14px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 21px; border-radius:15px; border:none; text-decoration:none; font-family:inherit; font-weight:700; font-size:15px; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { color:#fff; background:linear-gradient(135deg,var(--blue),var(--cyan)); box-shadow:0 16px 38px rgba(36,88,243,.28); }
.btn-secondary { color:var(--navy); background:rgba(255,255,255,.78); border:1px solid rgba(7,31,74,.12); }
.btn-sm { min-height:42px; padding:0 18px; font-size:14px; }
.chips { display:flex; flex-wrap:wrap; gap:10px; }
.chip { display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border-radius:999px; background:rgba(255,255,255,.74); border:1px solid rgba(36,88,243,.12); color:var(--navy); font-weight:650; font-size:14px; }
.chip:before { content:""; width:7px; height:7px; border-radius:50%; background:var(--cyan); }

/* ── Hero ──────────────────────────────────────────────────────────── */
.hero { padding:54px 0 70px; }
.hero-card {
  position:relative; padding:clamp(28px,5vw,54px); border:1px solid rgba(255,255,255,.78); border-radius:36px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.56)),radial-gradient(circle at 100% 100%,rgba(24,199,216,.18),transparent 38%);
  box-shadow:var(--shadow); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
}
.hero-card:before {
  content:""; position:absolute; inset:auto 0 0 20%; height:230px;
  background:linear-gradient(90deg,transparent,rgba(24,199,216,.22),rgba(36,88,243,.20),transparent);
  transform:rotate(-9deg); border-radius:999px;
  clip-path:inset(0);
}
.hero-card h1 { position:relative; margin:0; color:var(--navy); font-size:clamp(42px,6.4vw,76px); line-height:.98; letter-spacing:-.06em; max-width:820px; }
.hero-card .lead { position:relative; margin:26px 0 0; max-width:680px; color:var(--muted); font-size:clamp(18px,2.2vw,22px); line-height:1.55; }
.hero-card .lead strong { color:var(--ink); }
.hero-card .actions { position:relative; margin-top:34px; }

/* ── Sections génériques ──────────────────────────────────────────── */
.section { padding:70px 0; position:relative; }
.section-head { max-width:760px; margin:0 auto 44px; text-align:center; }
.section-head h2 { margin:0; font-size:clamp(30px,4.4vw,46px); color:var(--navy); letter-spacing:-.04em; line-height:1.08; }
.section-head p { margin:16px 0 0; color:var(--muted); font-size:clamp(16px,1.6vw,19px); line-height:1.6; }
.section-head .badge { margin-left:auto; margin-right:auto; }
.section-head.left { text-align:left; margin:0 0 44px; }

/* ── Carte verre générique ─────────────────────────────────────────── */
.glass { border-radius:30px; padding:28px; border:1px solid rgba(255,255,255,.76); background:rgba(255,255,255,.57); box-shadow:0 22px 70px rgba(7,31,74,.11); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); transition:transform .28s ease, box-shadow .28s ease; }

/* ── Relief au survol des cartes ───────────────────────────────────── */
.pillar.glass:hover, .price-card.glass:hover, .news-card.glass:hover, .step.glass:hover, .stat.glass:hover {
  transform:translateY(-6px);
  box-shadow:0 30px 90px rgba(7,31,74,.18);
}

/* ── Smartisi AI ───────────────────────────────────────────────────── */
.ai-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:46px; align-items:center; }
.ai-grid .glass.main { position:relative; min-height:340px; display:grid; align-content:space-between; background:radial-gradient(circle at 100% 0%,rgba(24,199,216,.28),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,.50)); overflow:hidden; }
.ai-grid .glass.main:after { content:"AI"; position:absolute; right:-10px; bottom:-58px; color:rgba(36,88,243,.06); font-size:200px; line-height:.8; font-weight:800; letter-spacing:-.05em; }
.ai-grid h2 { margin:0 0 14px; color:var(--navy); font-size:28px; letter-spacing:-.03em; }
.ai-grid p { margin:0; color:var(--muted); font-size:16px; line-height:1.65; }
.ai-grid .chips { margin-top:24px; }

.chat-window { display:flex; flex-direction:column; gap:14px; }
.chat-msg { max-width:88%; padding:14px 18px; border-radius:18px; font-size:14.5px; line-height:1.55; }
.chat-msg.user { align-self:flex-end; background:linear-gradient(135deg,var(--blue),var(--cyan)); color:#fff; border-radius:18px 18px 4px 18px; }
.chat-msg.bot { align-self:flex-start; background:rgba(255,255,255,.92); color:var(--ink); border:1px solid rgba(7,31,74,.08); border-radius:18px 18px 18px 4px; }
.chat-msg.bot .link { color:var(--blue2); font-weight:650; text-decoration:none; }
.chat-msg.bot strong { color:var(--navy); }

/* ── Piliers ───────────────────────────────────────────────────────── */
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pillar { display:flex; flex-direction:column; gap:18px; }
.pillar .icon { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; font-size:24px; background:linear-gradient(135deg,rgba(36,88,243,.14),rgba(24,199,216,.18)); }
.pillar h3 { margin:0; color:var(--navy); font-size:21px; letter-spacing:-.03em; }
.pillar p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
.pillar .chips { margin-top:auto; gap:8px; }
.pillar .chip { font-size:12.5px; padding:8px 11px; }
@media (max-width:960px) { .pillars { grid-template-columns:1fr; } .ai-grid { grid-template-columns:1fr; } }

/* ── Frame visuel générique (captures d'écran) ──────────────────────── */
.frame { border-radius:12px; overflow:hidden; border:1px solid rgba(7,31,74,.08); background:linear-gradient(135deg,rgba(36,88,243,.10),rgba(24,199,216,.14)); }
.frame-bar { display:flex; gap:6px; padding:10px 12px; background:rgba(255,255,255,.6); }
.frame-bar span { width:9px; height:9px; border-radius:50%; background:rgba(7,31,74,.18); }
.frame img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.frame .placeholder { aspect-ratio:16/10; display:grid; place-items:center; color:var(--muted); font-size:13px; font-weight:600; text-align:center; line-height:1.5; padding:20px; }
/* ── Slideshow dans les frames ──────────────────────────────── */
.frame-slides { position:relative; }
.frame-slide { display:none; }
.frame-slide.active { display:block; }
.frame-slide .screen-img-wrap { position:relative; line-height:0; overflow:hidden; }
.frame-slide img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:left top; }
.img-blur { position:absolute !important; top:0; left:0; width:100%; height:100%; filter:blur(14px); pointer-events:none; }
.frame-dots { display:flex; justify-content:center; gap:7px; padding:7px 12px 6px; background:rgba(255,255,255,.55); border-top:1px solid rgba(7,31,74,.06); }
.frame-dot { width:7px; height:7px; border-radius:50%; background:rgba(7,31,74,.18); border:none; cursor:pointer; padding:0; transition:background .2s,transform .2s; flex-shrink:0; }
.frame-dot:hover { background:rgba(7,31,74,.35); }
.frame-dot.active { background:#1248a6; transform:scale(1.25); }

/* ── Captures d'écran ─────────────────────────────────────────────── */
.screens { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.screen { padding:14px; display:flex; flex-direction:column; gap:12px; }
.screen h3 { margin:0; color:var(--navy); font-size:17px; letter-spacing:-.02em; }
.screen p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.5; }
@media (max-width:960px) { .screens { grid-template-columns:1fr; } }

/* ── Hero : capture d'écran de l'app ─────────────────────────────────── */
.hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; }
.hero-shot { position:relative; z-index:2; margin-right:-160px; }
.hero-shot .frame { box-shadow:0 22px 60px rgba(7,31,74,.16); }
.video-card--hero { max-width:none; margin:0; border-radius:20px 0 0 20px; }
@media (max-width:960px) { .hero-grid { grid-template-columns:1fr; } .hero-shot { order:-1; margin-right:0; } .video-card--hero { border-radius:20px; } }

/* ── Conformité band ──────────────────────────────────────────────── */
.compliance { display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:center; }
.compliance .glass { padding:34px; }
.compliance h2 { margin:0 0 14px; color:var(--navy); font-size:26px; letter-spacing:-.03em; }
.compliance p { margin:0 0 18px; color:var(--muted); font-size:15.5px; line-height:1.65; }
.compliance ul { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.compliance li { display:flex; gap:12px; align-items:flex-start; color:var(--ink); font-size:15px; line-height:1.5; }
.compliance li:before { content:"✓"; flex:0 0 auto; width:24px; height:24px; border-radius:8px; display:grid; place-items:center; font-weight:750; font-size:13px; color:#fff; background:linear-gradient(135deg,var(--blue),var(--cyan)); }
.risk-card { display:grid; gap:10px; }
.risk-row { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-radius:14px; background:rgba(255,255,255,.7); border:1px solid rgba(7,31,74,.06); font-size:14px; font-weight:600; color:var(--navy); }
.risk-dot { width:10px; height:10px; border-radius:50%; margin-right:10px; display:inline-block; vertical-align:middle; }
.risk-low:before { background:#18c7a0; } .risk-mod:before { background:#18c7d8; } .risk-high:before { background:#f3a724; } .risk-crit:before { background:#f34545; }
.risk-row span.dot { width:10px; height:10px; border-radius:50%; margin-right:10px; }
@media (max-width:960px) { .compliance { grid-template-columns:1fr; } }
.compliance-banners { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
@media (max-width:760px) { .compliance-banners { grid-template-columns:1fr; } }
.france-hosting { display:flex; align-items:center; gap:24px; padding:24px 32px; }
.einvoicing-logo { flex-shrink:0; height:64px; width:auto; display:block; }
.france-flag { flex-shrink:0; width:48px; height:48px; border-radius:12px; overflow:hidden; background:linear-gradient(90deg,#002395 33.3%,#fff 33.3% 66.6%,#ED2939 66.6%); box-shadow:0 4px 16px rgba(0,0,0,.12); }
.france-hosting__body { display:flex; flex-direction:column; gap:4px; }
.france-hosting__body strong { color:var(--navy); font-size:16px; font-weight:650; letter-spacing:-.02em; }
.france-hosting__body p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.55; }
@media (max-width:600px) { .france-hosting { flex-direction:column; gap:16px; } }

/* ── Actus & événements ───────────────────────────────────────────── */
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:32px; }
.news-card { display:flex; flex-direction:column; overflow:hidden; padding:0; }
.news-thumb { width:100%; aspect-ratio:16/9; overflow:hidden; flex-shrink:0; }
.news-thumb svg, .news-thumb img { width:100%; height:100%; display:block; object-fit:cover; }
.news-card-body { display:flex; flex-direction:column; gap:12px; padding:24px; flex:1; }
.news-card time { color:var(--muted); font-size:13px; font-weight:600; }
.news-card h3 { margin:0; color:var(--navy); font-size:18px; letter-spacing:-.02em; }
.news-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.news-card .link { margin-top:auto; color:var(--blue2); font-weight:650; text-decoration:none; font-size:14px; }
.news-carousel { margin-bottom:32px; overflow-x:clip; }
.news-track { display:flex; gap:24px; padding:8px 0 20px; transition:transform .42s cubic-bezier(.25,.46,.45,.94); will-change:transform; }
.news-track .news-card { flex-shrink:0; background:rgba(255,255,255,.92); }
.news-controls { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:8px; }
.news-controls button { width:42px; height:42px; border-radius:50%; border:1px solid rgba(7,31,74,.12); background:rgba(255,255,255,.78); color:var(--navy); font-size:18px; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background .18s ease,opacity .18s ease; }
.news-controls button:hover { background:#fff; }
.news-controls button:disabled { opacity:.3; cursor:default; pointer-events:none; }
.newsletter { display:flex; flex-direction:column; gap:14px; align-items:center; text-align:center; padding:clamp(28px,4vw,40px); }
.newsletter h3 { margin:0; color:var(--navy); font-size:22px; letter-spacing:-.03em; }
.newsletter p { margin:0; color:var(--muted); font-size:15px; }
.newsletter form { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; width:100%; max-width:460px; }
.newsletter-trap { position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }
.newsletter-msg { margin-top:14px; font-size:14px; font-weight:600; padding:12px 18px; border-radius:12px; }
.newsletter-msg--ok  { background:rgba(24,199,160,.12); color:#0e7a5a; border:1px solid rgba(24,199,160,.28); }
.newsletter-msg--err { background:rgba(220,50,50,.08); color:#b01e1e; border:1px solid rgba(220,50,50,.2); }
.newsletter input[type=email] { flex:1; min-width:200px; min-height:52px; padding:0 18px; border-radius:15px; border:1px solid rgba(7,31,74,.14); font-size:14px; font-family:inherit; transition:border-color .18s ease, box-shadow .18s ease; }
.newsletter input[type=email]:focus-visible { outline:none; border-color:var(--blue2); box-shadow:0 0 0 4px rgba(48,69,244,.16); }
@media (max-width:960px) { .news-grid { grid-template-columns:1fr; } }

/* ── Chiffres clés ────────────────────────────────────────────────── */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stat { text-align:center; padding:30px 18px; }
.stat .num { display:block; font-size:clamp(32px,4.4vw,46px); font-weight:750; letter-spacing:-.03em; background:linear-gradient(135deg,var(--navy),var(--blue2) 58%,var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat .label { display:block; margin-top:10px; color:var(--muted); font-size:14px; font-weight:600; line-height:1.4; }
@media (max-width:960px) { .stats { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .stats { grid-template-columns:1fr; } }

/* ── Étapes (onboarding) ──────────────────────────────────────────── */
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.step { display:flex; flex-direction:column; gap:14px; }
.step .step-num { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:linear-gradient(135deg,var(--blue),var(--cyan)); color:#fff; font-size:21px; font-weight:750; letter-spacing:-.02em; }
.step h3 { margin:0; color:var(--navy); font-size:21px; letter-spacing:-.03em; }
.step p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
@media (max-width:960px) { .steps { grid-template-columns:1fr; } }

/* ── Tarifs ───────────────────────────────────────────────────────── */
.pricing { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.pricing-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.price-card { display:flex; flex-direction:column; gap:16px; padding:clamp(26px,3.6vw,38px); }
.price-card h3 { margin:0; color:var(--navy); font-size:24px; letter-spacing:-.03em; }
.price-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.price-card .chips { margin-top:4px; }
.price-card .actions { margin-top:auto; }
.price { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.price .amount { font-size:clamp(28px,4vw,38px); font-weight:750; letter-spacing:-.03em; color:var(--navy); }
.price .amount.gradient-text { color:transparent; }
.price .unit { color:var(--muted); font-size:14px; font-weight:600; }
@media (max-width:960px) { .pricing, .pricing-3 { grid-template-columns:1fr; } }

/* ── À propos : bloc pionnier ─────────────────────────────────────── */
.apropos-pioneer { display:flex; flex-direction:column; gap:24px; padding:32px; height:100%; justify-content:space-between; background:linear-gradient(135deg,rgba(36,88,243,.07),rgba(24,199,216,.07)); }
.apropos-pioneer__quote { position:relative; font-size:15.5px; line-height:1.7; color:var(--ink); font-style:italic; padding-left:20px; border-left:3px solid var(--blue2); }
.apropos-pioneer__mark { display:none; }
.apropos-pioneer__stats { display:flex; align-items:center; gap:20px; }
.apropos-pioneer__stat { display:flex; flex-direction:column; gap:4px; }
.apropos-pioneer__val { font-size:28px; font-weight:800; letter-spacing:-.04em; }
.apropos-pioneer__lbl { font-size:12.5px; color:var(--muted); line-height:1.4; }
.apropos-pioneer__sep { width:1px; height:40px; background:rgba(7,31,74,.1); flex-shrink:0; }

/* ── CTA final ────────────────────────────────────────────────────── */
.cta-final { text-align:center; }
.cta-final .glass { padding:clamp(34px,6vw,64px); }
.cta-final h2 { margin:0; color:var(--navy); font-size:clamp(28px,4.4vw,42px); letter-spacing:-.04em; }
.cta-final p { margin:16px 0 30px; color:var(--muted); font-size:17px; }
.cta-final .actions { justify-content:center; }

/* ── Stat highlight (section IA) ─────────────────────────────────── */
.stat-highlight { display:inline-flex; align-items:center; gap:16px; margin-top:24px; padding:16px 24px; background:rgba(255,255,255,.6); border:1px solid rgba(36,88,243,.14); border-radius:16px; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.stat-highlight-value { font-size:42px; font-weight:900; letter-spacing:-.05em; background:linear-gradient(135deg,var(--navy),var(--blue2) 60%,var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1; flex-shrink:0; }
.stat-highlight-text { font-size:14px; color:var(--muted); line-height:1.5; }

/* ── Stats ────────────────────────────────────────────────────────── */
.section-stats { padding:20px 0 40px; }
.stats-grid { display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.82); border-radius:24px; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); padding:32px 48px; box-shadow:0 8px 40px rgba(7,31,74,.08); }
.stat-item { flex:1; text-align:center; padding:0 32px; }
.stat-value { display:block; font-size:clamp(34px,4vw,54px); font-weight:900; letter-spacing:-.05em; background:linear-gradient(135deg,var(--navy),var(--blue2) 60%,var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat-label { display:block; font-size:14px; color:var(--muted); margin-top:6px; line-height:1.45; }
.stat-sep { width:1px; height:60px; background:rgba(7,31,74,.1); flex-shrink:0; }
@media (max-width:640px) { .stats-grid { flex-direction:column; padding:24px; gap:24px; } .stat-sep { width:60px; height:1px; } .stat-item { padding:0; } }

/* ── Footer ───────────────────────────────────────────────────────── */
footer { padding:60px 0 0; border-top:1px solid rgba(7,31,74,.08); }
footer .container { display:block; color:rgba(7,31,74,.58); font-size:14px; }
footer a { color:var(--navy); text-decoration:none; }
footer .foot-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; }
footer .foot-brand { display:flex; flex-direction:column; gap:18px; }
footer .foot-brand-link { display:inline-flex; align-items:center; gap:10px; }
footer .foot-logo-icon { width:36px; height:36px; }
footer .foot-brand-text { font-size:20px; font-weight:800; color:var(--navy); letter-spacing:-.04em; }
footer .foot-tagline { margin:0; font-size:14px; color:var(--muted); line-height:1.65; max-width:240px; }
footer .foot-title { margin:0 0 14px; font-size:12px; font-weight:800; color:var(--navy); text-transform:uppercase; letter-spacing:.08em; }
footer .foot-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
footer .foot-list a { font-size:14px; color:var(--muted); font-weight:500; transition:color .15s; }
footer .foot-list a:hover { color:var(--navy); }
footer .foot-social { display:flex; gap:10px; }
footer .foot-social a { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.7); border:1px solid rgba(7,31,74,.10); color:var(--navy); transition:background .15s,border-color .15s; }
footer .foot-social a:hover { background:rgba(36,88,243,.08); border-color:rgba(36,88,243,.2); }
footer .foot-social svg { width:16px; height:16px; fill:currentColor; }
footer .foot-bottom { border-top:1px solid rgba(7,31,74,.08); padding:20px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; font-size:13px; color:rgba(7,31,74,.45); }
@media (max-width:960px) { footer .foot-grid { grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:560px) { footer .foot-grid { grid-template-columns:1fr; } footer .foot-bottom { flex-direction:column; text-align:center; } }

/* ── Reveal ───────────────────────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(14px); animation:reveal .72s ease forwards; }
.delay-1 { animation-delay:.10s; } .delay-2 { animation-delay:.22s; } .delay-3 { animation-delay:.34s; } .delay-4 { animation-delay:.46s; }
@keyframes reveal { to { opacity:1; transform:translateY(0); } }

@media (max-width:640px) {
  .hero { padding:30px 0 40px; }
  .hero-card { padding:24px; border-radius:28px; }
  .section { padding:46px 0; }
  .section-head { margin-bottom:30px; }
}
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; } .reveal { opacity:1; transform:none; } }

/* ── Bandeau cookies ──────────────────────────────────────────────── */
.cookie-banner {
  position:fixed; left:16px; right:16px; bottom:16px; z-index:50; margin:0 auto; max-width:760px;
  display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding:22px 26px; border-radius:22px;
  border:1px solid rgba(255,255,255,.78); background:rgba(255,255,255,.92); box-shadow:var(--shadow);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  transform:translateY(130%); opacity:0; transition:transform .35s ease, opacity .35s ease; pointer-events:none;
}
.cookie-banner.visible { transform:translateY(0); opacity:1; pointer-events:auto; }
.cookie-banner p { margin:0; flex:1 1 320px; color:var(--muted); font-size:13.5px; line-height:1.65; }
.cookie-banner p a { color:var(--blue2); font-weight:650; text-decoration:none; }
.cookie-banner .actions { flex:0 0 auto; gap:10px; }
@media (max-width:640px) { .cookie-banner { left:10px; right:10px; bottom:10px; padding:18px; } }

/* ── Page légale ─────────────────────────────────────────────────── */
.legal { padding:34px clamp(24px,5vw,56px); }
.legal .updated { margin:0 0 30px; color:var(--muted); font-size:13.5px; font-weight:600; }
.legal h2 { margin:36px 0 14px; color:var(--navy); font-size:24px; letter-spacing:-.03em; }
.legal h2:first-of-type { margin-top:0; }
.legal h3 { margin:24px 0 10px; color:var(--navy); font-size:18px; letter-spacing:-.02em; }
.legal p { margin:0 0 14px; color:var(--muted); font-size:15.5px; line-height:1.7; text-align:justify; }
.legal ul { margin:0 0 14px; padding-left:22px; color:var(--muted); font-size:15.5px; line-height:1.7; text-align:justify; }
.legal li { margin-bottom:6px; }
.legal strong { color:var(--ink); }
.legal a { color:var(--blue2); font-weight:650; text-decoration:none; }

/* ── Texte justifié dans les cartes et sections ────────────────────── */
.pillar p, .price-card p, .step p, .ai-grid p, .compliance p,
.cta-final p, .france-hosting__body p, .screen p, .event-card p { text-align:justify; }

/* ── Salons & événements ───────────────────────────────────────────── */
.events-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.event-card { display:flex; flex-direction:column; gap:16px; padding:clamp(26px,3.6vw,38px); }
.event-logo { display:flex; align-items:center; justify-content:center; height:140px; padding:18px; border-radius:14px; background:linear-gradient(135deg,var(--navy),#1b2a6b); overflow:hidden; }
.event-logo img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; min-width:0; min-height:0; }
.event-logo.light { background:#fff; border:1px solid rgba(7,31,74,.08); }
.event-card .dates { color:var(--blue2); font-weight:650; font-size:14px; }
.event-card h3 { margin:0; color:var(--navy); font-size:21px; letter-spacing:-.03em; }
.event-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
@media (max-width:960px) { .events-grid { grid-template-columns:1fr; } }

/* ── Outils connectés (pillars intégrations) ───────────────────────── */
.pillar .tool-logos-label { margin:0; font-size:12px; font-weight:650; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.tool-logos { display:flex; flex-wrap:wrap; gap:8px; }
.tool-chip { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; background:rgba(7,31,74,.04); border:1px solid rgba(7,31,74,.08); color:var(--navy); font-size:12.5px; font-weight:600; }
.tool-chip img { width:16px; height:16px; object-fit:contain; flex-shrink:0; }

/* ── Bandeau de connexions (marquee défilant) ──────────────────────── */
.connexions { display:flex; flex-direction:column; gap:18px; }
.connexions-row { overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 64px,#000 calc(100% - 64px),transparent); mask-image:linear-gradient(90deg,transparent,#000 64px,#000 calc(100% - 64px),transparent); }
.connexions-track { display:flex; gap:14px; width:max-content; animation:connexions-scroll 46s linear infinite; }
.connexions-row.right .connexions-track { animation-direction:reverse; }
.connexions-row:hover .connexions-track { animation-play-state:paused; }
.connexions-dup { display:contents; }
.connexions-track .tool-chip { flex-shrink:0; gap:12px; background:var(--white); border-color:rgba(7,31,74,.06); box-shadow:0 10px 28px rgba(7,31,74,.08); font-size:17px; padding:16px 28px; }
.connexions-track .tool-chip img { width:28px; height:28px; }
@keyframes connexions-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ── 1. Soulignement crayon ───────────────────────────────────────── */
.sketch { position:relative; }
.sketch::after {
  content:"";
  position:absolute;
  left:-2%;
  right:-2%;
  bottom:8px;
  height:18px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20360%2018'%20preserveAspectRatio='none'%3E%3Cpath%20d='M3,13%20C45,4%2085,18%20125,12%20C165,6%20195,17%20235,11%20C275,5%20315,16%20357,11'%20stroke='%232458f3'%20stroke-width='4.5'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M3,14%20C47,6%2083,17%20123,12.5%20C163,8%20197,16%20237,11.5%20C277,7%20313,15%20357,12'%20stroke='%232458f3'%20stroke-width='2'%20fill='none'%20stroke-linecap='round'%20opacity='.35'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  clip-path:inset(0 100% 0 0);
  animation:sketch-in 1s cubic-bezier(.4,0,.2,1) 0.6s forwards;
  pointer-events:none;
}
@keyframes sketch-in { to { clip-path:inset(0 0% 0 0); } }

/* ── 2. Badge pulse ───────────────────────────────────────────────── */
.badge::before { animation:badge-pulse 2.8s ease-in-out 1.5s infinite; }
@keyframes badge-pulse {
  0%,100% { box-shadow:0 0 0 4px rgba(24,199,216,.15); }
  50% { box-shadow:0 0 0 9px rgba(24,199,216,.26), 0 0 16px rgba(24,199,216,.18); }
}

/* ── 3. Section alternée ──────────────────────────────────────────── */
.section-alt {
  background:linear-gradient(180deg,rgba(7,31,74,.028) 0%,rgba(7,31,74,.016) 100%);
  border-top:1px solid rgba(7,31,74,.055);
  border-bottom:1px solid rgba(7,31,74,.055);
}

/* ── 4. Glow border au hover sur les pillar cards ─────────────────── */
.pillar.glass:hover { box-shadow:0 30px 90px rgba(7,31,74,.16), 0 0 0 1px rgba(36,88,243,.13); }

/* ── 5. Stats section ─────────────────────────────────────────────── */
.section-stats { padding:0 0 64px; }
.stats-3 { grid-template-columns:repeat(3,1fr); }
.stat.glass { padding:24px 20px; }
.stat-highlight { display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:18px 26px; border-radius:20px; background:linear-gradient(135deg,rgba(36,88,243,.08),rgba(24,199,216,.08)); border:1px solid rgba(36,88,243,.12); margin-top:24px; }
.stat-highlight-value { font-size:clamp(40px,5vw,54px); font-weight:800; letter-spacing:-.04em; background:linear-gradient(135deg,var(--blue),var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; white-space:nowrap; }
.stat-highlight-text { color:var(--muted); font-size:16px; line-height:1.45; }

/* ── 6. Hero social proof ─────────────────────────────────────────── */
.hero-proof { display:flex; align-items:center; gap:14px; margin-top:30px; }
.hero-proof-avatars { display:flex; flex-shrink:0; }
.avatar { width:34px; height:34px; border-radius:50%; border:2.5px solid rgba(255,255,255,.9); display:grid; place-items:center; font-size:10px; font-weight:750; color:#fff; background:var(--bg,#2458f3); margin-left:-9px; position:relative; overflow:hidden; }
.avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-proof-avatars .avatar:first-child { margin-left:0; z-index:5; }
.hero-proof-avatars .avatar:nth-child(2) { z-index:4; }
.hero-proof-avatars .avatar:nth-child(3) { z-index:3; }
.hero-proof-avatars .avatar:nth-child(4) { z-index:2; }
.hero-proof-avatars .avatar:nth-child(5) { z-index:1; }
.hero-proof-text { display:flex; flex-direction:column; gap:3px; }
.hero-proof-stars { color:#f3a724; font-size:13px; letter-spacing:.1em; line-height:1; }
.hero-proof-text > span:last-child { color:var(--muted); font-size:13px; line-height:1.3; }
.hero-proof-text strong { color:var(--navy); }

/* ── 7. App mockup (hero frame) ───────────────────────────────────── */
.app-mockup { display:flex; width:100%; min-height:240px; background:#09142a; overflow:hidden; }
.app-sidebar { width:44px; background:#060e1d; display:flex; flex-direction:column; align-items:center; padding:12px 0; gap:6px; flex-shrink:0; }
.app-logo-mark { width:26px; height:26px; border-radius:7px; background:linear-gradient(135deg,var(--blue),var(--cyan)); margin-bottom:8px; flex-shrink:0; }
.app-nav-dot { width:28px; height:28px; border-radius:8px; background:rgba(255,255,255,.05); display:block; flex-shrink:0; }
.app-nav-dot.active { background:rgba(36,88,243,.3); }
.app-body { flex:1; padding:12px; display:flex; flex-direction:column; gap:8px; overflow:hidden; min-width:0; }
.app-topbar { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.app-topbar-title { height:8px; width:90px; border-radius:4px; background:rgba(255,255,255,.13); }
.app-topbar-actions { display:flex; gap:5px; }
.app-topbar-chip { height:20px; width:50px; border-radius:5px; background:rgba(36,88,243,.3); }
.app-topbar-chip.short { width:34px; background:rgba(255,255,255,.07); }
.app-kpis { display:flex; gap:6px; flex-shrink:0; }
.app-kpi { flex:1; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:8px; padding:7px 8px; min-width:0; }
.app-kpi-val { font-size:14px; font-weight:750; letter-spacing:-.02em; line-height:1; }
.app-kpi-val.blue { color:#6b96ff; }
.app-kpi-val.cyan { color:#18c7d8; }
.app-kpi-val.green { color:#18c7a0; }
.app-kpi-lbl { font-size:8px; color:rgba(255,255,255,.34); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.app-kpi-trend { font-size:8px; color:#18c7a0; font-weight:700; margin-top:2px; }
.app-chart-area { flex:1; min-height:60px; }
.app-chart-bars { display:flex; align-items:flex-end; gap:4px; height:100%; }
.app-bar { flex:1; height:var(--h); border-radius:3px 3px 0 0; background:rgba(36,88,243,.18); }
.app-bar.active { background:linear-gradient(180deg,#18c7d8,#2458f3); }
.app-list { display:flex; flex-direction:column; gap:4px; flex-shrink:0; }
.app-list-row { display:flex; align-items:center; gap:6px; padding:5px 7px; background:rgba(255,255,255,.04); border-radius:6px; }
.app-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.app-row-name { flex:1; height:7px; border-radius:3px; background:rgba(255,255,255,.12); max-width:120px; }
.app-row-name.sm { max-width:80px; }
.app-row-name.med { max-width:100px; }
.app-row-status { font-size:8px; font-weight:700; padding:2px 6px; border-radius:3px; flex-shrink:0; white-space:nowrap; }
.blue-chip { background:rgba(48,69,244,.18); color:#7097ff; }
.green-chip { background:rgba(24,199,160,.18); color:#18c7a0; }
.orange-chip { background:rgba(243,167,36,.18); color:#f3a724; }
@media (max-width:640px) { .sketch::after { bottom:-8px; height:12px; } .hero-proof { flex-direction:column; align-items:flex-start; } }

/* ── Section MCP ──────────────────────────────────────────────────── */
.section-mcp { background:linear-gradient(135deg,rgba(36,88,243,.04) 0%,rgba(90,82,255,.07) 50%,rgba(24,199,216,.04) 100%); border-top:1px solid rgba(7,31,74,.06); border-bottom:1px solid rgba(7,31,74,.06); }
.mcp-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; margin-bottom:64px; }
.mcp-explainer h3 { margin:0 0 18px; color:var(--navy); font-size:26px; letter-spacing:-.03em; }
.mcp-explainer p { margin:0 0 16px; color:var(--muted); font-size:15.5px; line-height:1.72; }
.mcp-explainer .btn { margin-top:8px; }
.mcp-examples { display:flex; flex-direction:column; gap:14px; }
.mcp-bubble { padding:18px 22px; border-radius:18px; max-width:90%; }
.mcp-role { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; margin-bottom:8px; }
.mcp-bubble p { margin:0; font-size:14.5px; line-height:1.65; }
.mcp-bubble--user { background:linear-gradient(135deg,var(--blue),var(--violet)); align-self:flex-end; border-radius:18px 18px 4px 18px; }
.mcp-bubble--user .mcp-role { color:rgba(255,255,255,.7); }
.mcp-bubble--user p { color:#fff; }
.mcp-bubble--ai { background:var(--white); border:1px solid rgba(7,31,74,.09); box-shadow:0 8px 24px rgba(7,31,74,.08); align-self:flex-start; border-radius:18px 18px 18px 4px; }
.mcp-bubble--ai .mcp-role { color:var(--blue2); }
.mcp-bubble--ai p { color:var(--ink); }
.mcp-use-cases { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.mcp-use-case { background:var(--white); border:1px solid rgba(7,31,74,.07); border-radius:20px; padding:28px 26px; box-shadow:0 8px 28px rgba(7,31,74,.07); transition:transform .18s ease,box-shadow .18s ease; }
.mcp-use-case:hover { transform:translateY(-4px); box-shadow:0 16px 44px rgba(7,31,74,.12); }
.mcp-use-icon { font-size:28px; margin-bottom:14px; }
.mcp-use-case h4 { margin:0 0 10px; color:var(--navy); font-size:16px; letter-spacing:-.02em; }
.mcp-use-case p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
@media (max-width:960px) { .mcp-grid { grid-template-columns:1fr; gap:36px; } .mcp-use-cases { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .mcp-use-cases { grid-template-columns:1fr; } .mcp-bubble { max-width:100%; } }
@media (prefers-reduced-motion:reduce) { .connexions-track { animation:none; } }

/* ── Section vidéo ────────────────────────────────────────────────── */
.section-video { padding:64px 0 80px; }
.video-card { position:relative; border-radius:24px; overflow:hidden; max-width:840px; margin:0 auto; cursor:pointer; box-shadow:0 32px 90px rgba(7,31,74,.22); background:linear-gradient(135deg,var(--navy) 0%,#0d2a65 60%,#142f70 100%); aspect-ratio:16/9; transition:transform .22s ease, box-shadow .22s ease; }
.video-card:hover, .video-card:focus { transform:scale(1.018); box-shadow:0 44px 110px rgba(7,31,74,.32); outline:none; }
.video-thumb { position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.video-thumb-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.video-shimmer { position:absolute; inset:0; background:linear-gradient(135deg,rgba(7,31,74,.62) 0%,rgba(13,42,101,.5) 60%,rgba(20,47,112,.62) 100%); }
.video-play-wrap { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:20px; }
.video-play-btn { width:88px; height:88px; border-radius:50%; background:rgba(255,255,255,.95); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 32px rgba(0,0,0,.36), 0 0 0 16px rgba(255,255,255,.12); transition:transform .18s ease, box-shadow .18s ease; }
.video-card:hover .video-play-btn { transform:scale(1.1); box-shadow:0 12px 40px rgba(0,0,0,.42), 0 0 0 20px rgba(255,255,255,.16); }
.video-play-btn svg { width:36px; height:36px; fill:var(--navy); margin-left:4px; }
.video-play-label { color:rgba(255,255,255,.9); font-size:15px; font-weight:600; letter-spacing:.01em; }
.video-duration { position:absolute; bottom:16px; right:20px; color:rgba(255,255,255,.7); font-size:13px; font-weight:600; background:rgba(0,0,0,.4); padding:3px 10px; border-radius:6px; }

/* ── Modal vidéo ─────────────────────────────────────────────────── */
.video-modal { display:none; position:fixed; inset:0; z-index:1000; background:rgba(4,14,36,.92); align-items:center; justify-content:center; }
.video-modal.open { display:flex; }
.video-modal-inner { position:relative; width:min(900px,92vw); aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#000; box-shadow:0 48px 120px rgba(0,0,0,.7); }
.video-modal-inner iframe, .video-modal-inner video { position:absolute; inset:0; width:100%; height:100%; border:none; object-fit:contain; background:#000; }
.video-modal-close { position:absolute; top:20px; right:24px; z-index:1001; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.12); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff; transition:background .16s ease; line-height:1; }
.video-modal-close:hover { background:rgba(255,255,255,.24); }
