    :root{
      --bg: #ffffff;
      --bg2:#f7f8fb;
      --text:#0b1220;
      --muted:#5b6475;
      --muted2:#7a8395;
      --stroke: rgba(15,23,42,.12);
      --stroke2: rgba(15,23,42,.08);
      --shadow: 0 18px 60px rgba(15,23,42,.10);
      --shadow2: 0 10px 30px rgba(15,23,42,.08);
      --radius: 20px;
      --radius2: 16px;
      --max: 1140px;
      --a:#635bff; /* vibe Stripe */
      --b:#22c55e;
      --c:#06b6d4;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
      color: var(--text);
      background:
        radial-gradient(900px 450px at 10% 10%, rgba(99,91,255,.12), transparent 55%),
        radial-gradient(900px 450px at 90% 15%, rgba(6,182,212,.10), transparent 55%),
        radial-gradient(900px 450px at 50% 95%, rgba(34,197,94,.08), transparent 55%),
        var(--bg);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
    }

    a{color:inherit;text-decoration:none}
    .wrap{max-width:var(--max); margin:0 auto; padding: 26px 20px 110px;}
    .row{display:flex; align-items:center; gap:12px;}
    .spacer{flex:1}

    /* Sticky top CTA bar */
    .sticky{
      position: sticky;
      top: 14px;
      z-index: 50;
      border: 1px solid var(--stroke2);
      background: rgba(255,255,255,.75);
      backdrop-filter: blur(10px);
      border-radius: 16px;
      box-shadow: var(--shadow2);
      padding: 10px 12px;
    }
    .brand{
      display:flex; align-items:center; gap:10px; min-width: 210px;
    }
    .brand img{
      width: 34px; height: 34px; border-radius: 12px; object-fit: cover;
      box-shadow: 0 10px 20px rgba(99,91,255,.12);
    }
    .brand .name{font-weight: 800; letter-spacing:-.3px; font-size: 18px;}
    .brand .tag{font-size: 12px; color: var(--muted); margin-top: -1px;}

    nav{display:flex; gap:6px; flex-wrap:wrap; justify-content:center;}
    nav a{
      padding: 9px 11px;
      border-radius: 12px;
      color: var(--muted);
      font-weight: 600;
      border: 1px solid transparent;
    }
    nav a:hover{
      color: var(--text);
      border-color: var(--stroke2);
      background: rgba(15,23,42,.02);
    }

    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      padding: 10px 14px;
      border-radius: 14px;
      border: 1px solid var(--stroke2);
      background: #fff;
      color: var(--text);
      font-weight: 700;
      cursor: pointer;
      transition: transform .08s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
      user-select:none;
      white-space: nowrap;
    }
    .btn:hover{
      box-shadow: 0 10px 28px rgba(15,23,42,.10);
      border-color: rgba(99,91,255,.25);
    }
    .btn:active{transform: translateY(1px);}
    .btn.primary{
      border: none;
      background: linear-gradient(135deg, rgba(99,91,255,1), rgba(6,182,212,1));
      color: white;
      box-shadow: 0 14px 34px rgba(99,91,255,.22);
    }
    .btn.primary:hover{filter: brightness(1.03)}
    .btn.ghost{
      background: rgba(15,23,42,.02);
      border-color: var(--stroke2);
    }

    /* Hero */
    .hero{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 18px;
      padding: 22px 0 8px;
      align-items: stretch;
    }
    @media (max-width: 980px){ .hero{grid-template-columns:1fr;} }

    .pill{
      display:inline-flex; align-items:center; gap:10px;
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid var(--stroke2);
      background: rgba(255,255,255,.60);
      color: var(--muted);
      width: fit-content;
    }
    .dot{
      width: 9px; height: 9px; border-radius: 999px;
      background: linear-gradient(135deg, var(--a), var(--c));
      box-shadow: 0 0 0 4px rgba(99,91,255,.12);
    }
    h1{
      font-size: 54px;
      line-height: 1.03;
      letter-spacing: -1.4px;
      margin: 14px 0 12px;
    }
    @media (max-width: 540px){ h1{font-size: 40px;} }

    .lead{
      margin:0;
      color: var(--muted);
      font-size: 18px;
      max-width: 64ch;
    }

    .ctaRow{display:flex; gap:12px; flex-wrap:wrap; margin-top: 18px;}
    .micro{
      margin-top: 12px;
      color: var(--muted2);
      font-size: 13px;
      display:flex; gap:14px; flex-wrap:wrap;
    }
    .micro span{display:inline-flex; align-items:center; gap:8px;}
    .check{
      width: 18px; height: 18px; border-radius: 8px;
      background: rgba(34,197,94,.12);
      border: 1px solid rgba(34,197,94,.25);
      display:inline-flex; align-items:center; justify-content:center;
      color: #16a34a;
      font-weight: 900;
      font-size: 12px;
    }

    /* Panels / cards */
    .panel{
      border: 1px solid var(--stroke2);
      background: rgba(255,255,255,.70);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow:hidden;
      position: relative;
    }
    .panel::before{
      content:"";
      position:absolute; inset:-2px;
      background:
        radial-gradient(600px 260px at 15% 10%, rgba(99,91,255,.10), transparent 60%),
        radial-gradient(600px 260px at 85% 20%, rgba(6,182,212,.10), transparent 60%);
      pointer-events:none;
    }
    .panel > *{position:relative}
    .pad{padding: 18px;}

    .grid3{
      display:grid;
      grid-template-columns: repeat(3,1fr);
      gap: 12px;
      margin-top: 14px;
    }
    @media (max-width: 980px){ .grid3{grid-template-columns:1fr;} }

    .card{
      border: 1px solid var(--stroke2);
      background: rgba(255,255,255,.75);
      border-radius: var(--radius2);
      padding: 14px;
      transition: transform .15s ease, box-shadow .2s ease;
    }
    .card:hover{transform: translateY(-2px); box-shadow: 0 16px 40px rgba(15,23,42,.10);}
    .card b{display:block; margin-bottom: 6px;}
    .card p{margin:0; color: var(--muted);}

    section{margin-top: 34px;}
    .head{
      display:flex;
      align-items:flex-end;
      justify-content: space-between;
      gap:12px;
      margin-bottom: 12px;
    }
    h2{margin:0; font-size: 22px; letter-spacing: -.5px;}
    .sub{margin: 4px 0 0; color: var(--muted); font-size: 14px;}

    /* Video */
    .video{
      aspect-ratio: 16/9;
      width:100%;
      border-radius: var(--radius);
      overflow:hidden;
      border: 1px solid var(--stroke2);
      background: #fff;
      box-shadow: var(--shadow2);
    }
    iframe{width:100%; height:100%; border:0;}

    /* Carousel */
    .carousel{
      border: 1px solid var(--stroke2);
      background: rgba(255,255,255,.75);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow:hidden;
      width:100%;
      max-width: 760px;   /* ajuste (700-900 selon ton goût) */
      margin: 0 auto;     /* <-- centre */
    }
    .carouselTop{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      padding: 12px 12px 0 12px;
    }
    .carouselTitle{
      font-weight: 800;
      letter-spacing: -.3px;
      font-size: 14px;
      color: var(--text);
    }
    .carouselHint{color: var(--muted2); font-size: 12px;}
    .viewport{
      position: relative;
      overflow:hidden;
      border-radius: 18px;
      margin: 12px;
      border: 1px solid var(--stroke2);
      background: #fff;
    }
    .track{
      display:flex;
      transition: transform 420ms cubic-bezier(.22,1,.36,1);
      will-change: transform;
    }
    .slide{
      min-width: 100%;
      position: relative;
    }
    .slide img{
      width:100%;
      height: auto;
      display:block;
      object-fit: cover;
    }
    .slideCaption{
      position:absolute;
      left: 14px; bottom: 14px;
      padding: 10px 12px;
      border-radius: 14px;
      background: rgba(255,255,255,.78);
      border: 1px solid var(--stroke2);
      box-shadow: 0 10px 24px rgba(15,23,42,.10);
      max-width: 30%;
    }
    .slideCaption b{display:block; font-size: 13px;}
    .slideCaption span{display:block; font-size: 12px; color: var(--muted);}
    .controls{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      padding: 0 12px 12px 12px;
    }
    .dots{display:flex; gap:8px; align-items:center; justify-content:center; flex:1;}
    .dotBtn{
      width: 9px; height: 9px;
      border-radius: 999px;
      border: 1px solid rgba(15,23,42,.18);
      background: rgba(15,23,42,.10);
      cursor:pointer;
      transition: transform .12s ease, background .2s ease, width .2s ease;
    }
    .dotBtn[aria-current="true"]{
      background: linear-gradient(135deg, var(--a), var(--c));
      border-color: rgba(99,91,255,.35);
      width: 22px;
    }
    .navBtn{
      width: 40px; height: 40px;
      border-radius: 14px;
      border: 1px solid var(--stroke2);
      background: #fff;
      cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      transition: box-shadow .2s ease, transform .08s ease;
      user-select:none;
    }
    .navBtn:hover{box-shadow: 0 10px 22px rgba(15,23,42,.10)}
    .navBtn:active{transform: translateY(1px)}
    .navBtn svg{width: 18px; height: 18px;}

    /* Pricing */
    .pricing{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 14px;
    }
    @media (max-width: 980px){ .pricing{grid-template-columns:1fr;} }

    .priceRow{display:flex; align-items:flex-start; justify-content:space-between; gap:14px;}
    .priceValue{font-size: 46px; font-weight: 900; letter-spacing:-1.4px;}
    .priceSmall{display:block; margin-top:-6px; color: var(--muted2); font-weight: 700; font-size: 13px;}
    .badge{
      display:inline-flex;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(99,91,255,.10);
      border: 1px solid rgba(99,91,255,.20);
      color: rgba(99,91,255,1);
      font-weight: 800;
      font-size: 12px;
    }
    ul{margin: 12px 0 0; padding-left: 18px; color: var(--muted);}
    li{margin: 8px 0}

    /* FAQ */
    details{
      border: 1px solid var(--stroke2);
      background: rgba(255,255,255,.75);
      border-radius: 18px;
      padding: 12px 14px;
      box-shadow: var(--shadow2);
    }
    summary{cursor:pointer; font-weight: 800;}
    details p{margin: 8px 0 0; color: var(--muted);}

    /* Footer */
    .footer{
      margin-top: 42px;
      display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
      border-top: 1px solid var(--stroke2);
      padding-top: 18px;
      color: var(--muted2);
      font-size: 13px;
    }
    .links{display:flex; gap:12px; flex-wrap:wrap;}
    .links a{color: var(--muted2)}
    .links a:hover{color: var(--text)}

    /* Scroll reveal */
    .reveal{
      opacity: 0;
      transform: translateY(10px);
      transition: opacity 650ms ease, transform 650ms ease;
    }
    .reveal.show{
      opacity: 1;
      transform: translateY(0);
    }
        
    /* --- Fix #captures : garder bouton à droite + carousel centré --- */
    #captures .head{
      justify-content: space-between;
      text-align: left;
    }
    #captures .carousel{
      margin: 16px auto 0 auto; /* centre le carousel sous le header */
    }
    
    /* --- Mobile premium menu (hamburger + drawer) --- */
    .mobileMenuBtn{ display:none; }
    
    /* Overlay + drawer */
    .menuOverlay{
      position: fixed;
      inset: 0;
      background: rgba(15,23,42,.32);
      backdrop-filter: blur(8px);
      opacity: 0;
      pointer-events: none;
      transition: opacity 220ms ease;
      z-index: 999;
    }
    .menuDrawer{
      position: fixed;
      top: 0;
      right: 0;
      height: 100%;
      width: min(360px, 88vw);
      background: rgba(255,255,255,.92);
      border-left: 1px solid var(--stroke2);
      box-shadow: 0 30px 80px rgba(15,23,42,.18);
      transform: translateX(102%);
      transition: transform 260ms cubic-bezier(.22,1,.36,1);
      z-index: 1000;
      display:flex;
      flex-direction: column;
    }
    .menuHeader{
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 10px;
      padding: 14px 14px 10px 14px;
      border-bottom: 1px solid var(--stroke2);
    }
    .menuHeader b{font-size: 14px; letter-spacing:-.2px;}
    .menuBody{
      padding: 12px 14px 18px 14px;
      display:grid;
      gap: 10px;
    }
    .menuBody a.btn{
      width: 100%;
      justify-content: flex-start;
    }
    .menuBody a.btn.is-active{
      border-color: rgba(99,91,255,.22);
      background: linear-gradient(135deg, rgba(99,91,255,.12), rgba(6,182,212,.10));
      box-shadow: 0 10px 26px rgba(99,91,255,.14);
    }
    .menuFooter{
      margin-top: auto;
      padding: 14px;
      border-top: 1px solid var(--stroke2);
      display:grid;
      gap: 10px;
    }
    
    /* Open state */
    body.menu-open .menuOverlay{
      opacity: 1;
      pointer-events: auto;
    }
    body.menu-open .menuDrawer{
      transform: translateX(0);
    }
    
    /* Mobile behavior */
    @media (max-width: 560px){
      nav{display:none;}
      .brand{min-width:auto;}
      .mobileMenuBtn{ display:inline-flex; }
    }
    
    /* Small polish */
    .btn:focus-visible{
      outline: 3px solid rgba(99,91,255,.25);
      outline-offset: 2px;
    }
    
    #captures .carousel{
      margin: 16px auto 0 auto;
    }

    /* Small screen improvements */
    @media (max-width: 560px){
      nav{display:none;}
      .brand{min-width:auto;}
    }
    
    /* --- Active section highlight (desktop nav) --- */
    nav a.is-active{
      color: var(--text);
      background: rgba(99,91,255,.10);
      border-color: rgba(99,91,255,.22);
    }
    
    /* petit "underline" premium (optionnel) */
    nav a.is-active::after{
      content:"";
      display:block;
      height:2px;
      margin-top:6px;
      border-radius:999px;
      background: linear-gradient(135deg, var(--a), var(--c));
    }
    
    /* --- Active section highlight (mobile drawer buttons) --- */
    .menuBody a.btn.is-active{
      border-color: rgba(99,91,255,.22);
      background: rgba(99,91,255,.08);
    }
    
    /* ===== Linear-style sliding pill (desktop nav) ===== */
    nav{
      position: relative;
      align-items: center; /* important */
    }
    
    /* La pill (centrée verticalement dans le nav) */
    .nav-pill{
      position: absolute;
      left: 0;
      top: 50%;
      height: 34px;
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(99,91,255,.18), rgba(6,182,212,.18));
      border: 1px solid rgba(99,91,255,.25);
      box-shadow: 0 8px 24px rgba(99,91,255,.18);
      transition:
        transform 420ms cubic-bezier(.22,1,.36,1),
        width 420ms cubic-bezier(.22,1,.36,1),
        opacity 200ms ease;
      z-index: 0;
      opacity: 0;
      width: 0;
      transform: translate(0, -50%);
      pointer-events: none;
    }
    
    /* Les liens passent au-dessus */
    nav a{
      position: relative;
      z-index: 1;
    }