/* Symbiel — design system partagé (extrait de la vitrine) */
  :root{
    --ink:#0a0912;
    --ink-2:#110c24;
    --surface:rgba(255,255,255,.035);
    --surface-2:rgba(255,255,255,.055);
    --stroke:rgba(255,255,255,.09);
    --stroke-2:rgba(255,255,255,.16);
    --text:#f2f3fa;
    --muted:#9ba1b8;
    --muted-2:#6f7590;
    --gold:#8b6cf8;
    --gold-deep:#2fd4d0;

    /* agent signature hues */
    --max:#5b7cfa;
    --iris:#ff6f61;
    --noe:#3fd08a;
    --diego:#ff9f43;
    --gaspard:#2fd4d0;
    --margaux:#e068c8;
    --sam:#a984ff;
    --ines:#ffd15c;

    --r-lg:26px;
    --r-md:18px;
    --r-sm:12px;
    --maxw:1180px;
    --ease:cubic-bezier(.22,1,.36,1);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--ink);
    color:var(--text);
    font-family:"Hanken Grotesk",-apple-system,sans-serif;
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:clip; /* clip (pas hidden) : évite de créer un conteneur de scroll qui casse le scroll vertical sur iOS Safari */
  }
  ::selection{background:var(--gold);color:#0b0712}

  /* ---------- atmosphere ---------- */
  .bg-field{position:fixed;inset:0;z-index:-2;overflow:hidden;background:
     radial-gradient(120% 90% at 50% -10%, #12152a 0%, var(--ink) 55%);}
  .aurora{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;mix-blend-mode:screen;animation:drift 24s var(--ease) infinite alternate}
  .a1{width:620px;height:620px;background:radial-gradient(circle,var(--max),transparent 65%);top:-180px;left:-120px}
  .a2{width:560px;height:560px;background:radial-gradient(circle,var(--margaux),transparent 65%);top:6%;right:-160px;animation-delay:-6s}
  .a3{width:640px;height:640px;background:radial-gradient(circle,var(--gaspard),transparent 65%);top:52%;left:-180px;animation-delay:-12s}
  .a4{width:520px;height:520px;background:radial-gradient(circle,var(--gold),transparent 65%);top:70%;right:-120px;opacity:.32;animation-delay:-9s}
  @keyframes drift{to{transform:translate3d(60px,50px,0) scale(1.12)}}

  .grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

  /* ---------- typography ---------- */
  h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.02em}
  .eyebrow{font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:9px}
  .eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}

  /* ---------- nav ---------- */
  header.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .4s var(--ease)}
  .nav-inner{max-width:var(--maxw);margin:14px auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;
    border:1px solid transparent;border-radius:999px;transition:all .4s var(--ease)}
  header.nav.scrolled .nav-inner{background:rgba(10,11,18,.72);backdrop-filter:blur(18px);border-color:var(--stroke);box-shadow:0 20px 50px -30px rgba(0,0,0,.9)}
  .brand{display:flex;align-items:center;gap:11px;font-family:"Fraunces",serif;font-size:23px;letter-spacing:-.02em;color:var(--text);text-decoration:none}
  .brand .dot{width:30px;height:30px;border-radius:9px;position:relative;background:
     conic-gradient(from 210deg,var(--max),var(--margaux),var(--gaspard),var(--gold),var(--max));box-shadow:0 0 22px -4px var(--max)}
  .brand .dot::after{content:"";position:absolute;inset:6px;border-radius:5px;background:var(--ink)}
  .nav-links{display:flex;align-items:center;gap:34px}
  .nav-links a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:500;transition:color .2s}
  .nav-links a:hover{color:var(--text)}
  .nav-cta{display:flex;align-items:center;gap:14px}

  .btn{font-family:"Hanken Grotesk",sans-serif;font-weight:600;font-size:15px;padding:12px 22px;border-radius:999px;border:1px solid transparent;background:transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:9px;transition:all .3s var(--ease);white-space:nowrap}
  .btn-ghost{color:var(--text);border-color:var(--stroke-2)}
  .btn-ghost:hover{background:var(--surface-2);border-color:var(--stroke-2)}
  .btn-gold{background:linear-gradient(120deg,var(--gold),var(--gold-deep));color:#0b0712;box-shadow:0 12px 34px -12px rgba(139,108,248,.55)}
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 44px -14px rgba(139,108,248,.75)}
  .btn-lg{padding:16px 30px;font-size:16px}
  .btn .arr{transition:transform .3s var(--ease)}
  .btn:hover .arr{transform:translateX(4px)}
  .menu-btn{display:none;background:none;border:1px solid var(--stroke-2);border-radius:10px;width:44px;height:44px;color:var(--text);cursor:pointer;font-size:20px}

  /* ---------- hero ---------- */
  .hero{padding:190px 0 90px;position:relative}
  .hero-badge{display:inline-flex;align-items:center;gap:10px;padding:7px 15px 7px 8px;border:1px solid var(--stroke);border-radius:999px;background:var(--surface);font-size:13px;color:var(--muted);margin-bottom:30px}
  .hero-badge .pill{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.06em;background:var(--gold);color:#20180a;padding:3px 9px;border-radius:999px;font-weight:500}
  .hero h1{font-size:clamp(3rem,7.2vw,6rem);max-width:16ch}
  .hero h1 em{font-style:italic;color:#3fe0c8;position:relative}
  .hero p.lead{font-size:clamp(1.05rem,2vw,1.32rem);color:var(--muted);max-width:56ch;margin:28px 0 40px;font-weight:400}
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
  .hero-note{font-size:14px;color:var(--muted-2);margin-top:22px;display:flex;align-items:center;gap:8px}
  .hero-note b{color:var(--muted);font-weight:600}

  /* floating avatar orbs */
  .orbits{position:absolute;top:110px;right:10px;width:440px;height:560px;pointer-events:none}
  .orb{position:absolute;width:74px;height:74px;border-radius:22px;object-fit:cover;display:block;
    border:1px solid rgba(255,255,255,.22);box-shadow:0 22px 50px -16px rgba(0,0,0,.75), 0 0 0 5px color-mix(in srgb,var(--c,#5b7cfa) 16%,transparent);animation:float 7s var(--ease) infinite alternate}
  @keyframes float{to{transform:translateY(-22px)}}
  @media(max-width:980px){.orbits{display:none}}

  /* ---------- stat band ---------- */
  .stats{border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);margin-top:40px}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
  .stat{padding:40px 26px;border-right:1px solid var(--stroke)}
  .stat:last-child{border-right:none}
  .stat .num{font-family:"Fraunces",serif;font-size:2.7rem;line-height:1;letter-spacing:-.02em}
  .stat .lbl{color:var(--muted);font-size:14px;margin-top:10px}
  @media(max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:none}.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--stroke)}}

  /* ---------- section shell ---------- */
  section.block{padding:120px 0}
  .head{max-width:720px;margin-bottom:60px}
  .head h2{font-size:clamp(2.2rem,4.6vw,3.6rem);margin:18px 0}
  .head p{color:var(--muted);font-size:1.12rem}
  .center{margin-left:auto;margin-right:auto;text-align:center}

  /* ---------- agents grid ---------- */
  .agents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media(max-width:940px){.agents-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.agents-grid{grid-template-columns:1fr}}

  .agent{--c:var(--max);position:relative;padding:28px;border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--surface);
    overflow:hidden;transition:transform .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease)}
  .agent::before{content:"";position:absolute;inset:0;background:radial-gradient(130% 90% at 15% -10%,color-mix(in srgb,var(--c) 26%,transparent),transparent 60%);opacity:0;transition:opacity .45s var(--ease)}
  .agent:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 50%,transparent);background:var(--surface-2)}
  .agent:hover::before{opacity:1}
  .agent > *{position:relative;z-index:1}
  .agent-link{position:absolute;inset:0;z-index:3;border-radius:inherit;cursor:pointer}
  .agent-link span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .agent-top{display:flex;align-items:center;gap:15px;margin-bottom:20px}
  .av{width:64px;height:64px;border-radius:50%;flex-shrink:0;object-fit:cover;display:block;
    border:2px solid color-mix(in srgb,var(--c) 68%,transparent);
    box-shadow:0 12px 26px -10px var(--c), 0 0 0 5px color-mix(in srgb,var(--c) 12%,transparent);
    background:color-mix(in srgb,var(--c) 18%,#0c0e18);transition:transform .4s var(--ease)}
  .agent:hover .av{transform:scale(1.06)}
  .agent-name{font-family:"Fraunces",serif;font-size:1.5rem;line-height:1}
  .agent-role{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--c);margin-top:6px}
  .agent p{color:var(--muted);font-size:15px;line-height:1.62}
  .caps{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
  .cap{font-size:12px;color:var(--muted);border:1px solid var(--stroke);border-radius:999px;padding:5px 11px;background:rgba(255,255,255,.02)}
  /* Badge de coin « Bientôt » autonome — NE doit PAS toucher les modificateurs .tool.soon
     (cartes d'outils) ni .stat.soon (badges de cartes agents), sinon ils s'échappent de leur
     conteneur et s'empilent en haut à droite de la page. */
  .soon:not(.tool):not(.stat){position:absolute;top:20px;right:20px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ines);border:1px solid color-mix(in srgb,var(--ines) 45%,transparent);padding:4px 9px;border-radius:999px;z-index:2}

  /* ---------- how it works ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
  @media(max-width:820px){.steps{grid-template-columns:1fr}}
  .step{position:relative;padding:34px 28px;border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--surface)}
  .step::before{counter-increment:s;content:"0" counter(s);font-family:"Fraunces",serif;font-size:3.4rem;color:transparent;-webkit-text-stroke:1px var(--stroke-2);display:block;margin-bottom:16px;letter-spacing:-.02em}
  .step h3{font-size:1.4rem;margin-bottom:10px}
  .step p{color:var(--muted);font-size:15px}

  /* ---------- feature split (Max) ---------- */
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
  @media(max-width:900px){.split{grid-template-columns:1fr;gap:36px}}
  .split h2{font-size:clamp(2rem,4vw,3.1rem);margin:16px 0}
  .split p{color:var(--muted);font-size:1.08rem;margin-bottom:14px}
  .flist{list-style:none;margin-top:26px;display:grid;gap:14px}
  .flist li{display:flex;gap:13px;align-items:flex-start;color:var(--muted)}
  .flist .ic{width:26px;height:26px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold);font-size:14px;margin-top:2px}
  .flist b{color:var(--text);font-weight:600}
  /* conversation mockup */
  .chat{border:1px solid var(--stroke);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--surface-2),transparent);padding:22px;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
  .chat-bar{display:flex;gap:7px;margin-bottom:20px}
  .chat-bar i{width:11px;height:11px;border-radius:50%;background:var(--stroke-2)}
  .msg{max-width:82%;padding:13px 16px;border-radius:16px;font-size:14.5px;margin-bottom:12px;line-height:1.5}
  .msg.you{margin-left:auto;background:var(--surface-2);border:1px solid var(--stroke);border-bottom-right-radius:5px}
  .msg.bot{background:color-mix(in srgb,var(--max) 15%,transparent);border:1px solid color-mix(in srgb,var(--max) 34%,transparent);border-bottom-left-radius:5px}
  .msg.bot .who{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--max);display:block;margin-bottom:5px}
  .msg .route{color:var(--gold);font-weight:600}

  /* ---------- pricing ---------- */
  .prices{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
  @media(max-width:820px){.prices{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
  .price{display:flex;flex-direction:column;padding:32px;border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--surface);position:relative}
  .price.feat{border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 9%,transparent),var(--surface))}
  .price .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#20180a;padding:5px 14px;border-radius:999px;font-weight:600}
  .price .pname{font-family:"Fraunces",serif;font-size:1.5rem}
  .price .pdesc{color:var(--muted);font-size:14px;margin:6px 0 22px;min-height:40px}
  .price .amount{font-family:"Fraunces",serif;font-size:3.2rem;line-height:1;letter-spacing:-.02em}
  .price .amount small{font-family:"Hanken Grotesk";font-size:1rem;color:var(--muted);font-weight:400}
  .price ul{list-style:none;margin:26px 0;display:grid;gap:12px}
  .price li{display:flex;gap:11px;color:var(--muted);font-size:15px}
  .price li::before{content:"✓";color:var(--gold);font-weight:700}
  .price .btn{margin-top:auto;justify-content:center;width:100%}

  /* ---------- faq ---------- */
  .faq{max-width:820px;margin:0 auto}
  .q{border-bottom:1px solid var(--stroke)}
  .q button{width:100%;background:none;border:none;color:var(--text);text-align:left;padding:26px 0;font-family:"Fraunces",serif;font-size:1.32rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px}
  .q .sign{flex-shrink:0;width:32px;height:32px;border:1px solid var(--stroke-2);border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--gold);transition:transform .35s var(--ease)}
  .q.open .sign{transform:rotate(45deg)}
  .q .ans{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
  .q .ans p{color:var(--muted);padding-bottom:26px;font-size:16px;max-width:70ch}

  /* ---------- final cta ---------- */
  .final{position:relative;text-align:center;padding:100px 40px;border:1px solid var(--stroke);border-radius:32px;overflow:hidden;
    background:radial-gradient(120% 140% at 50% 0%,color-mix(in srgb,var(--max) 20%,transparent),transparent 60%),var(--surface)}
  .final::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 50% 120%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 55%)}
  .final > *{position:relative;z-index:1}
  .final h2{font-size:clamp(2.2rem,5vw,3.8rem);margin-bottom:20px}
  .final p{color:var(--muted);font-size:1.15rem;max-width:52ch;margin:0 auto 36px}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--stroke);margin-top:120px;padding:60px 0 40px}
  .foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:44px}
  .foot-brand{max-width:300px}
  .foot-brand p{color:var(--muted);font-size:14px;margin-top:14px}
  .foot-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-2);font-family:"JetBrains Mono",monospace;font-weight:500;margin-bottom:16px}
  .foot-col a{display:block;color:var(--muted);text-decoration:none;font-size:15px;margin-bottom:11px;transition:color .2s}
  .foot-col a:hover{color:var(--text)}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:28px;border-top:1px solid var(--stroke);color:var(--muted-2);font-size:14px}

  /* ---------- why / comparison ---------- */
  .compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--surface)}
  .compare{min-width:680px;width:100%}
  .compare-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);align-items:stretch}
  .compare-row:not(:last-child){border-bottom:1px solid var(--stroke)}
  .compare-row > div{padding:17px 20px;display:flex;flex-direction:column;justify-content:center}
  .compare-row.chead div{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-2);text-align:center}
  .compare-row.chead .crit-h{text-align:left}
  .compare-row.chead .hl{color:var(--gold)}
  .compare .crit{color:var(--text);font-weight:500;font-size:15px}
  .compare .cell{text-align:center;color:var(--muted);font-size:14px}
  .compare .col-s{background:color-mix(in srgb,var(--gold) 7%,transparent);text-align:center;color:var(--text);font-size:14px;font-weight:500}
  .compare .yes{color:var(--noe);font-weight:700}
  .compare .no{color:var(--muted-2);font-weight:700}

  /* ---------- personas ---------- */
  .personas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media(max-width:820px){.personas{grid-template-columns:1fr}}
  .persona{padding:30px 26px;border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--surface);transition:transform .4s var(--ease),border-color .4s var(--ease)}
  .persona:hover{transform:translateY(-5px);border-color:var(--stroke-2)}
  .persona .pico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--max) 16%,transparent);margin-bottom:18px}
  .persona h3{font-size:1.4rem;margin-bottom:10px}
  .persona .quote{color:var(--muted);font-size:15px;font-style:italic}
  .persona .win{margin-top:18px;padding-top:18px;border-top:1px solid var(--stroke);color:var(--muted);font-size:14.5px}
  .persona .win b{color:var(--gold);font-weight:600}

  /* ---------- integrations ---------- */
  .integ-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
  @media(max-width:900px){.integ-grid{grid-template-columns:repeat(4,1fr)}}
  @media(max-width:560px){.integ-grid{grid-template-columns:repeat(3,1fr)}}
  .tool{display:flex;flex-direction:column;align-items:center;gap:11px;padding:22px 10px;border:1px solid var(--stroke);border-radius:var(--r-md);background:var(--surface);transition:transform .3s var(--ease),border-color .3s var(--ease)}
  .tool:hover{transform:translateY(-4px);border-color:var(--stroke-2);background:var(--surface-2)}
  .tool .tico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-family:"Fraunces",serif;font-size:19px;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
  .tool .tico.brand{background:#fff;box-shadow:none;border:1px solid var(--stroke)}
  .tool .tico.brand img{width:26px;height:26px}
  .tool span{font-size:12.5px;color:var(--muted);text-align:center}
  .tool.soon .tico.brand{filter:grayscale(.35);opacity:.7}
  .tool .soon-badge{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--stroke-2);border-radius:999px;padding:2px 8px}
  .integ-note{text-align:center;margin-top:26px;color:var(--muted-2);font-size:15px}
  .integ-note b{color:var(--gold);font-family:"Fraunces",serif;font-size:1.1rem}

  /* ---------- trust ---------- */
  .trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media(max-width:820px){.trust{grid-template-columns:1fr}}
  .tcard{padding:28px;border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--surface)}
  .tcard .tic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--gaspard) 16%,transparent);color:var(--gaspard);font-size:22px;margin-bottom:16px}
  .tcard h3{font-size:1.22rem;margin-bottom:9px}
  .tcard p{color:var(--muted);font-size:14.5px;line-height:1.6}

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .reveal.in{opacity:1;transform:none}
  .reveal[data-d="1"]{transition-delay:.08s}
  .reveal[data-d="2"]{transition-delay:.16s}
  .reveal[data-d="3"]{transition-delay:.24s}

  /* mobile nav */
  @media(max-width:880px){
    /* Mobile/tablette : seul le ☰ reste dans la barre (tout est repris dans .mobile-menu).
       Sinon « Se connecter » + « Demander une démo » poussaient le ☰ hors écran → intappable. */
    .nav-links,.nav-cta > *:not(.menu-btn){display:none}
    .menu-btn{display:grid;place-items:center}
    .mobile-menu{position:fixed;inset:0;z-index:49;background:rgba(8,9,15,.96);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:20px;padding:104px 20px 44px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
    .mobile-menu.open{opacity:1;pointer-events:auto}
    .mobile-menu a{color:var(--text);font-family:"Fraunces",serif;font-size:1.5rem;line-height:1.15;text-align:center;text-decoration:none}
  }
  @media(min-width:881px){.mobile-menu{display:none}}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

  /* ---------- Fluidité mobile ----------
     Sur mobile, animer des halos (.aurora) floutés à 90px + le backdrop-filter du header
     forçait un re-rendu GPU à chaque frame → scroll saccadé. On fige les halos (flou réduit,
     rasterisé une seule fois) et on remplace le flou du header par un fond opaque. */
  @media(max-width:880px){
    .aurora{animation:none;filter:blur(55px);opacity:.4}
    header.nav.scrolled .nav-inner{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,11,18,.94)}
  }

  /* ---------- solutions (cartes produits) ---------- */
  .sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:880px){.sol-grid{grid-template-columns:1fr}}
  .sol-card{position:relative;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:12px;overflow:hidden;transition:border-color .35s var(--ease),transform .35s var(--ease),background .35s var(--ease)}
  .sol-card::before{content:"";position:absolute;inset:0;background:radial-gradient(130% 90% at 15% -10%,color-mix(in srgb,var(--c,var(--gold)) 22%,transparent),transparent 60%);opacity:0;transition:opacity .45s var(--ease)}
  .sol-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c,var(--gold)) 45%,transparent);background:var(--surface-2)}
  .sol-card:hover::before{opacity:1}
  .sol-card>*{position:relative;z-index:1}
  .sol-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:26px;color:#0b0712;margin-bottom:6px}
  .sol-tag{font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c,var(--gold))}
  .sol-card h3{font-family:"Fraunces",serif;font-size:1.6rem;font-weight:400;line-height:1.1;color:var(--text)}
  .sol-desc{color:var(--muted);font-size:15.5px;line-height:1.62;flex:1}
  .sol-link{margin-top:8px;color:var(--text);font-weight:600;text-decoration:none;font-size:15px;display:inline-flex;align-items:center;gap:8px;align-self:flex-start}
  .sol-link:hover{color:var(--c,var(--gold))}
  .sol-link .arr{transition:transform .3s var(--ease)}
  .sol-link:hover .arr{transform:translateX(4px)}
  .breadcrumb{display:inline-flex;align-items:center;gap:9px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.08em;color:var(--muted-2);text-decoration:none;margin-bottom:22px}
  .breadcrumb:hover{color:var(--gold)}

  /* ---------- galerie captures d'app ---------- */
  .shots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}
  .shot{margin:0;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r-md);overflow:hidden;box-shadow:0 30px 60px -40px rgba(0,0,0,.8);transition:transform .35s var(--ease),border-color .35s var(--ease)}
  .shot:hover{transform:translateY(-4px);border-color:var(--stroke-2)}
  .shot img{display:block;width:100%;height:auto;border-bottom:1px solid var(--stroke)}
  .shot figcaption{padding:15px 20px;color:var(--muted);font-size:14.5px;line-height:1.5}
  .shot figcaption b{display:block;color:var(--text);font-family:"Fraunces",serif;font-size:1.08rem;font-weight:400;margin-bottom:3px;letter-spacing:-.01em}
  .shot.feature{grid-column:1/-1}

  /* ---------- modale démo ---------- */
  .demo-ov{position:fixed;inset:0;z-index:100;background:rgba(6,7,12,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .25s var(--ease)}
  .demo-ov.open{opacity:1}
  .demo-ov[hidden]{display:none}
  .demo-card{position:relative;width:100%;max-width:470px;background:var(--ink-2);border:1px solid var(--stroke-2);border-radius:var(--r-lg);padding:34px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9);transform:translateY(10px);transition:transform .25s var(--ease)}
  .demo-ov.open .demo-card{transform:none}
  .demo-card h3{font-family:"Fraunces",serif;font-size:1.65rem;font-weight:400;margin:12px 0 8px;letter-spacing:-.02em}
  .demo-card>p{color:var(--muted);font-size:15px;margin-bottom:20px}
  .demo-x{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:26px;line-height:1;cursor:pointer}
  .demo-x:hover{color:var(--text)}
  .demo-fields{display:grid;gap:12px;margin-bottom:22px}
  .demo-f{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--stroke);border-radius:12px;padding:10px 14px}
  .demo-f>span{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);width:92px;flex:none}
  .demo-f code{flex:1;font-family:"JetBrains Mono",monospace;font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .demo-cp{background:none;border:1px solid var(--stroke-2);color:var(--muted);border-radius:8px;padding:5px 11px;font-size:12px;cursor:pointer;transition:all .2s;flex:none}
  .demo-cp:hover{color:var(--text);border-color:var(--gold)}
  .demo-cp.done{color:var(--noe);border-color:var(--noe)}
  .demo-note{color:var(--muted-2);font-size:13px;margin-top:14px;text-align:center}

  /* ---------- vrai logo Symbiel dans la marque ---------- */
  .brand .dot{background:url("/symbiel-glyph.svg") center/contain no-repeat;box-shadow:none;border-radius:0}
  .brand .dot::after{content:none;display:none}

  /* logo agrandi (nav + footer) */
  .brand .dot{width:40px;height:40px;background:url("/symbiel-glyph.svg") center/contain no-repeat;box-shadow:none;border-radius:0}
  .brand .dot::after{content:none}

  /* menu déroulant connexion (multi-produit) */
  .login-dd{position:relative}
  .login-dd .dd-arr{font-size:10px;margin-left:2px;transition:transform .2s var(--ease)}
  .login-dd.open .dd-arr{transform:rotate(180deg)}
  .login-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:216px;background:rgba(14,11,26,.97);backdrop-filter:blur(18px);border:1px solid var(--stroke-2);border-radius:14px;padding:8px;box-shadow:0 26px 54px -20px rgba(0,0,0,.85);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease);z-index:60}
  .login-dd.open .login-menu{opacity:1;transform:none;pointer-events:auto}
  .login-menu a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:14.5px;font-weight:500;text-decoration:none;transition:background .18s,color .18s}
  .login-menu a:hover{background:var(--surface-2);color:var(--text)}
  .login-menu .lm-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:13px;color:#0b0712;flex:none}

  /* ---------- grille prix 2 colonnes (responsive) ---------- */
  .prices.two{grid-template-columns:repeat(2,1fr);max-width:760px;margin-left:auto;margin-right:auto}
  @media(max-width:820px){.prices.two{grid-template-columns:1fr;max-width:420px}}
