/* =====================================================================
   naiartOS — kit éditorial + couche visuelle
   Utilisé par /clipping/ et /blog/. Contrat d'usage : /BLOG-CONTRACT.md
   Tout est préfixé « ne- » pour ne jamais entrer en collision avec
   les styles inline d'une page. Aucune image, aucune librairie :
   les visuels sont en CSS + SVG inline, animés en transform/opacity.
   ===================================================================== */

:root{
  --ne-bg:#08090a;--ne-panel:#0e0f11;--ne-media:#101215;--ne-hair:#1a1c1e;--ne-line:#25282b;--ne-field:#2a2d30;
  --ne-ink:#f4f2ec;--ne-ink2:#9a9d96;--ne-dim:#7b7e77;--ne-off:#3a3d40;--ne-lime:#cdff3d;--ne-lime2:#e5ff85;--ne-red:#ff6b6b;
  --ne-ease:cubic-bezier(.16,1,.3,1);--ne-max:1180px;--ne-read:720px;
  --ne-mono:"IBM Plex Mono",ui-monospace,monospace;--ne-sans:"Space Grotesk",system-ui,sans-serif;
}

/* ---------- motion ---------- */
@keyframes ne-blink{50%{opacity:0}}
@keyframes ne-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes ne-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ne-eq{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.45)}}
@keyframes ne-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ne-marq{to{transform:translateX(-50%)}}
@keyframes ne-ken{from{transform:scale(1)}to{transform:scale(1.12) translateY(-3%)}}
@keyframes ne-scan{from{left:0}to{left:100%}}
@keyframes ne-hi{0%,22%,100%{border-color:var(--ne-field);transform:translateY(0)}6%,16%{border-color:var(--ne-lime);transform:translateY(-5px)}}
@keyframes ne-dash{to{stroke-dashoffset:0}}
@keyframes ne-flow{to{stroke-dashoffset:-24}}
@keyframes ne-ball{0%{transform:translate(0,0)}50%{transform:translate(70px,-34px)}100%{transform:translate(140px,0)}}
@keyframes ne-sweep{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
@keyframes ne-strip{to{transform:translateX(-64px)}}

/* reveal au scroll (classe ne-js posée par le script inline) */
.ne-js [data-ne-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ne-ease),transform .8s var(--ne-ease)}
.ne-js [data-ne-reveal].is-in{opacity:1;transform:none}

/* ---------- icônes (sprite inline <svg class="ne-sprite">) ---------- */
.ne-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ne-ico{width:18px;height:18px;flex:none;color:var(--ne-ink);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ne-ico--fill{fill:currentColor;stroke:none}
.ne-ico--lime{color:var(--ne-lime)}

/* ---------- téléphone vertical ---------- */
.ne-phone{--w:88px;position:relative;width:var(--w);height:calc(var(--w)*2.05);flex:none;border:1px solid var(--ne-field);border-radius:calc(var(--w)*.17);background:#050607;box-shadow:0 18px 40px rgba(0,0,0,.55)}
.ne-phone__screen{position:absolute;inset:calc(var(--w)*.045);border-radius:calc(var(--w)*.13);overflow:hidden;background:var(--ne-media)}
.ne-phone__screen::after{content:"";position:absolute;top:3.5%;left:50%;width:30%;height:3.2%;margin-left:-15%;border-radius:9px;background:#050607;z-index:4}
.ne-phone__bar{position:absolute;top:9%;left:9%;right:9%;height:2px;background:rgba(244,242,236,.2);z-index:3;overflow:hidden}
.ne-phone__bar::after{content:"";position:absolute;inset:0;background:var(--ne-ink);transform-origin:left;animation:ne-fill 4.5s linear infinite;animation-delay:var(--d,0s)}
.ne-phone__cap{position:absolute;left:10%;right:26%;bottom:21%;height:calc(var(--w)*.17);z-index:3;background:linear-gradient(var(--ne-ink) 0 0) 0 0/88% 32% no-repeat,linear-gradient(var(--ne-lime) 0 0) 0 100%/56% 32% no-repeat}
.ne-phone__rail{position:absolute;right:6%;bottom:22%;width:10%;height:30%;z-index:3;background:radial-gradient(circle,rgba(244,242,236,.85) 0 34%,transparent 38%) 0 0/100% 33.3% repeat-y}
.ne-phone__ico{position:absolute;left:9%;bottom:7%;width:16%;height:auto;aspect-ratio:1;z-index:3;color:var(--ne-ink)}
.ne-phone--lime{border-color:var(--ne-lime)}

/* scènes : des « images » construites en dégradés, animées en ken burns */
.ne-scene{position:absolute;inset:-6%;animation:ne-ken 7s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.ne-scene--stage{background:
  radial-gradient(circle at 50% 40%,#2c2f32 0 9%,transparent 9.5%),
  radial-gradient(ellipse 22% 20% at 50% 64%,#2c2f32 0 96%,transparent 100%),
  radial-gradient(ellipse 60% 45% at 50% 30%,rgba(205,255,61,.32),transparent 70%),
  conic-gradient(from 160deg at 18% 0,transparent 0 10deg,rgba(205,255,61,.18) 10deg 26deg,transparent 26deg),
  conic-gradient(from 174deg at 82% 0,transparent 0 10deg,rgba(244,242,236,.12) 10deg 26deg,transparent 26deg),
  radial-gradient(circle,#1d2022 0 42%,transparent 46%) 0 100%/12% 9% repeat-x,
  linear-gradient(#0b0c0d,#16181a)}
.ne-scene--pitch{background:
  radial-gradient(circle at 62% 46%,var(--ne-ink) 0 3.2%,transparent 3.6%),
  radial-gradient(circle at 38% 52%,#303437 0 7%,transparent 7.5%),
  radial-gradient(ellipse 13% 17% at 38% 68%,#303437 0 96%,transparent 100%),
  linear-gradient(transparent 49.6%,rgba(244,242,236,.22) 49.6% 50.4%,transparent 50.4%),
  radial-gradient(circle at 50% 50%,transparent 0 21%,rgba(244,242,236,.2) 21.5% 22.5%,transparent 23%),
  repeating-linear-gradient(90deg,#142017 0 16%,#18261b 16% 32%)}
.ne-scene--talk{background:
  radial-gradient(circle at 34% 40%,#33373a 0 10%,transparent 10.5%),
  radial-gradient(ellipse 20% 19% at 34% 64%,#33373a 0 96%,transparent 100%),
  radial-gradient(circle at 70% 44%,#24272a 0 9%,transparent 9.5%),
  radial-gradient(ellipse 18% 18% at 70% 67%,#24272a 0 96%,transparent 100%),
  linear-gradient(90deg,transparent 47%,rgba(205,255,61,.7) 47% 53%,transparent 53%) 0 74%/100% 9% no-repeat,
  radial-gradient(ellipse 70% 50% at 30% 30%,rgba(205,255,61,.14),transparent 70%),
  linear-gradient(160deg,#121416,#0a0b0c)}
.ne-scene--screen{background:
  linear-gradient(#000 0 0) 0 0/100% 18% no-repeat,linear-gradient(#000 0 0) 0 100%/100% 18% no-repeat,
  radial-gradient(circle at 70% 46%,rgba(244,242,236,.9) 0 5%,rgba(205,255,61,.25) 6%,transparent 20%),
  radial-gradient(ellipse 30% 26% at 28% 66%,#1a1c1f 0 96%,transparent 100%),
  linear-gradient(transparent 58%,#141618 58%),
  linear-gradient(#22262a,#0d0e10 58%)}

/* ---------- éventail de téléphones (hero, couvertures) ---------- */
.ne-fan{position:relative;display:flex;justify-content:center;align-items:flex-end;height:250px;margin:26px 0 4px;isolation:isolate}
.ne-fan::before{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--ne-line),transparent)}
.ne-fan .ne-phone{--w:94px;margin:0 -10px 14px}
.ne-fan .ne-phone:nth-child(1){transform:rotate(-9deg) translateY(10px);z-index:1}
.ne-fan .ne-phone:nth-child(2){--w:112px;z-index:2;animation:ne-float 5s ease-in-out infinite}
.ne-fan .ne-phone:nth-child(3){transform:rotate(9deg) translateY(10px);z-index:1}
.ne-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--ne-field);border-radius:999px;background:rgba(14,15,17,.92);font:500 10px/1 var(--ne-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ne-ink);white-space:nowrap}
.ne-chip .ne-ico{width:12px;height:12px}
.ne-chip--lime{border-color:var(--ne-lime);color:var(--ne-lime)}
.ne-fan .ne-chip{position:absolute;z-index:3}
.ne-fan .ne-chip:nth-of-type(1){left:0;top:30px}
.ne-fan .ne-chip:nth-of-type(2){right:0;top:22px}
.ne-fan .ne-chip:nth-of-type(3){right:2%;bottom:46px}
.ne-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ne-lime);animation:ne-pulse 1.6s infinite}

/* ---------- schéma source → clips ---------- */
.ne-split{position:relative;margin:40px 0 0;padding:22px;border:1px solid var(--ne-line);border-radius:14px;background:var(--ne-panel);overflow:hidden}
.ne-split__head{display:flex;justify-content:space-between;gap:12px;font:400 10px/1 var(--ne-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ne-dim);margin-bottom:14px}
.ne-split__track{position:relative;height:56px;border:1px solid var(--ne-hair);border-radius:8px;background:var(--ne-media);overflow:hidden}
.ne-split__track svg{position:absolute;inset:5px 8px;width:calc(100% - 16px);height:calc(100% - 10px);stroke:#34383b;stroke-width:2.4}
.ne-split__seg{position:absolute;top:0;bottom:0;left:var(--a);width:var(--b);background:rgba(205,255,61,.16);border-inline:1px solid var(--ne-lime)}
.ne-split__playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--ne-lime);box-shadow:0 0 12px var(--ne-lime);animation:ne-scan 5s linear infinite}
.ne-split__links{display:block;width:100%;height:54px}
.ne-split__links path{fill:none;stroke:var(--ne-lime);stroke-width:1.2;stroke-dasharray:4 4;animation:ne-flow 1.2s linear infinite}
.ne-split__outs{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;gap:10px}
.ne-split__out{display:grid;justify-items:center;gap:10px}
.ne-split__out .ne-phone{--w:70px}
.ne-split__label{font:500 10px/1 var(--ne-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ne-lime)}

/* ---------- vignette visuelle de carte ---------- */
.ne-viz{position:relative;height:136px;margin:0 0 22px;border:1px solid var(--ne-hair);border-radius:10px;background:var(--ne-media);overflow:hidden}
.ne-viz--phones{display:flex;justify-content:center;align-items:center;gap:12px}
.ne-viz--phones .ne-phone{--w:50px}
.ne-viz--phones .ne-phone:nth-child(2){transform:translateY(-6px)}

/* brief : feuille + règles */
.ne-sheet{position:absolute;left:50%;top:16px;bottom:-12px;width:62%;margin-left:-31%;padding:16px 16px 0;border:1px solid var(--ne-field);border-radius:6px;background:var(--ne-panel);display:grid;align-content:start;gap:9px}
.ne-sheet i{display:flex;align-items:center;gap:8px;height:12px;font-style:normal}
.ne-sheet i::before{content:"✓";font:500 10px/1 var(--ne-mono);color:var(--ne-lime);width:10px}
.ne-sheet i.no::before{content:"×";color:var(--ne-red)}
.ne-sheet i::after{content:"";height:5px;border-radius:3px;background:var(--ne-off);width:var(--l,70%)}
.ne-sheet b{height:7px;width:44%;border-radius:3px;background:var(--ne-ink);margin-bottom:4px}

/* réseau de diffusion */
.ne-net{position:absolute;inset:0;width:100%;height:100%}
.ne-net line{stroke:var(--ne-field);stroke-width:1}
.ne-net .flow{stroke:var(--ne-lime);stroke-dasharray:3 9;animation:ne-flow 1.4s linear infinite}
.ne-net circle{fill:var(--ne-panel);stroke:var(--ne-field)}
.ne-net .hub{fill:var(--ne-lime);stroke:none}

/* barres de lecture (aucune valeur chiffrée) */
.ne-bars{position:absolute;inset:16px 18px;display:grid;align-content:center;gap:12px}
.ne-bars div{display:grid;grid-template-columns:16px 1fr 8px;align-items:center;gap:10px}
.ne-bars .ne-ico{width:14px;height:14px}
.ne-bars span{height:6px;border-radius:3px;background:var(--ne-hair);position:relative;overflow:hidden}
.ne-bars span::after{content:"";position:absolute;inset:0;width:var(--v);background:var(--ne-lime);transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ne-ease) .2s}
.ne-bars span.off::after{background:var(--ne-off)}
.is-in .ne-bars span::after,.ne-bars.is-in span::after{transform:scaleX(1)}
.ne-bars em{width:8px;height:8px;border-radius:50%;background:var(--ne-lime)}
.ne-bars em.off{background:var(--ne-off)}

/* ---------- tableau de bord type (sans données) ---------- */
.ne-dash{border:1px solid var(--ne-line);border-radius:14px;background:var(--ne-panel);overflow:hidden;margin-bottom:28px}
.ne-dash__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--ne-hair);font:400 10px/1.3 var(--ne-mono);color:var(--ne-dim)}
.ne-dash__head b{font-weight:400;color:var(--ne-lime);white-space:nowrap}
.ne-dash .ne-bars{position:static;padding:20px 18px;gap:16px}
.ne-dash .ne-bars div{grid-template-columns:18px 34% 1fr 8px}
.ne-dash .ne-bars i{height:6px;border-radius:3px;background:var(--ne-field);width:var(--u,80%)}

/* ---------- vignettes secteurs ---------- */
.ne-sector{position:relative;height:128px;margin-bottom:20px;border:1px solid var(--ne-hair);border-radius:10px;background:var(--ne-media);overflow:hidden}
.ne-sector .ne-ico{position:absolute;left:12px;top:12px;width:20px;height:20px;color:var(--ne-lime);z-index:2}
.ne-sector--sport{background:linear-gradient(transparent 49.5%,rgba(244,242,236,.14) 49.5% 50.5%,transparent 50.5%),radial-gradient(circle at 50% 50%,transparent 0 30px,rgba(244,242,236,.14) 31px 32px,transparent 33px),repeating-linear-gradient(90deg,#132016 0 12.5%,#16241a 12.5% 25%)}
.ne-sector--sport::after{content:"";position:absolute;left:calc(50% - 76px);bottom:34px;width:12px;height:12px;border-radius:50%;background:var(--ne-ink);animation:ne-ball 2.4s ease-in-out infinite alternate}
.ne-sector--film::before{content:"";position:absolute;left:0;right:-64px;top:28px;bottom:28px;background:
  repeating-linear-gradient(90deg,transparent 0 6px,var(--ne-media) 6px 12px) 0 4px/100% 6px no-repeat,
  repeating-linear-gradient(90deg,transparent 0 6px,var(--ne-media) 6px 12px) 0 calc(100% - 4px)/100% 6px no-repeat,
  repeating-linear-gradient(90deg,#2b2f32 0 58px,#050607 58px 64px);animation:ne-strip 3s linear infinite}
.ne-sector--film::after{content:"";position:absolute;left:calc(50% - 30px);top:28px;bottom:28px;width:58px;border:1px solid var(--ne-lime);box-shadow:0 0 0 999px rgba(8,9,10,.35)}
.ne-sector__eq{position:absolute;inset:24px 18px;display:flex;align-items:center;justify-content:center;gap:4px}
.ne-sector__eq i{width:5px;height:var(--h);border-radius:3px;background:var(--ne-off);animation:ne-eq 1.1s ease-in-out infinite;animation-delay:var(--d)}
.ne-sector__eq i:nth-child(3n){background:var(--ne-lime)}
.ne-sector--music{background:radial-gradient(circle,#202326 0 40%,transparent 44%) 0 100%/14px 14px repeat-x,linear-gradient(#0b0c0d,#141618)}
.ne-sector--music::before,.ne-sector--music::after{content:"";position:absolute;top:-10px;left:50%;width:70px;height:150px;margin-left:-35px;background:linear-gradient(rgba(205,255,61,.35),transparent);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);transform-origin:50% 0;animation:ne-sweep 3.6s ease-in-out infinite}
.ne-sector--music::after{background:linear-gradient(rgba(244,242,236,.2),transparent);animation-delay:-1.8s}

/* ---------- bandeau de clips défilants ---------- */
.ne-reel{overflow:hidden;margin-bottom:56px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ne-reel__track{display:flex;gap:12px;width:max-content;animation:ne-marq 46s linear infinite}
.ne-reel .ne-phone{--w:62px;box-shadow:none}

/* ---------- boutons & badges génériques ---------- */
.ne-btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border:1px solid var(--ne-lime);background:var(--ne-lime);color:var(--ne-bg);font:500 12px/1.2 var(--ne-mono);letter-spacing:.03em;text-decoration:none;transition:background .18s,border-color .18s,color .18s}
.ne-btn:hover{background:var(--ne-lime2);border-color:var(--ne-lime2)}
.ne-page .ne-btn{color:var(--ne-bg)}
.ne-page .ne-btn--ghost,.ne-btn--ghost{background:transparent;color:var(--ne-ink);border-color:var(--ne-line)}
.ne-btn--ghost:hover{background:transparent;border-color:var(--ne-lime);color:var(--ne-lime)}
.ne-eyebrow{font:500 11px/1.4 var(--ne-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ne-lime)}
.ne-tag{display:inline-block;padding:4px 9px;border:1px solid var(--ne-line);border-radius:999px;font:400 10px/1.2 var(--ne-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ne-ink2)}

/* =====================================================================
   PAGE ÉDITORIALE (blog) — body.ne-page
   ===================================================================== */
.ne-page{margin:0;background:var(--ne-bg);color:var(--ne-ink);font:400 17px/1.7 var(--ne-sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.ne-page *{box-sizing:border-box}
.ne-page a{color:inherit}
.ne-page img{max-width:100%;height:auto}
.ne-page :focus-visible{outline:2px solid var(--ne-lime);outline-offset:4px}
html:has(.ne-page){background:var(--ne-bg);scroll-behavior:smooth;overflow-x:hidden}
.ne-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(var(--ne-hair) 1px,transparent 1px) 0 0/72px 72px,linear-gradient(90deg,var(--ne-hair) 1px,transparent 1px) 0 0/72px 72px;opacity:.35;-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%)}
.ne-wrap{width:min(var(--ne-max),calc(100% - 32px));margin:0 auto;min-width:0}
.ne-read{width:min(var(--ne-read),calc(100% - 32px));margin:0 auto;min-width:0}

/* barre de navigation */
.ne-top{position:sticky;top:0;z-index:50;background:rgba(8,9,10,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ne-hair)}
.ne-top__in{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ne-brand{display:flex;align-items:center;gap:12px;font:400 11px var(--ne-mono);color:var(--ne-ink2);text-decoration:none;white-space:nowrap}
.ne-brand img{height:14px;width:auto}
.ne-top__links{display:flex;align-items:center;gap:20px;font:400 11px var(--ne-mono);color:var(--ne-ink2)}
.ne-top__links a{text-decoration:none}
.ne-top__links a:hover{color:var(--ne-ink)}
.ne-top .ne-btn{min-height:40px;padding:9px 13px;font-size:10px}
.ne-back{display:none}
.ne-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--ne-lime);transform-origin:left;transform:scaleX(var(--p,0))}

/* fil d'ariane */
.ne-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font:400 11px/1.4 var(--ne-mono);color:var(--ne-dim)}
.ne-crumbs li+li::before{content:"/";margin-right:8px;color:var(--ne-off)}
.ne-crumbs a{text-decoration:none}
.ne-crumbs a:hover{color:var(--ne-lime)}

/* hero d'article */
.ne-hero{padding:40px 0 34px}
.ne-hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:22px 0 18px;font:400 11px/1.4 var(--ne-mono);color:var(--ne-ink2)}
.ne-hero__meta span+span::before{content:"·";margin-right:14px;color:var(--ne-off)}
.ne-hero h1,.ne-index-hero h1{margin:0;font:700 clamp(34px,8.6vw,68px)/1.02 var(--ne-sans);letter-spacing:-.045em;text-transform:uppercase;overflow-wrap:break-word;hyphens:auto}
.ne-hero h1 em,.ne-index-hero h1 em{font-style:normal;color:var(--ne-lime)}
.ne-cover{position:relative;margin:30px 0 0;aspect-ratio:16/10;border:1px solid var(--ne-line);border-radius:14px;background:var(--ne-panel);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.ne-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ne-cover .ne-fan{position:absolute;inset:auto 0 -40px;margin:0;height:auto}
.ne-cover__label{position:absolute;left:14px;top:14px;z-index:4}
.ne-cover--grid{background:linear-gradient(var(--ne-hair) 1px,transparent 1px) 0 0/36px 36px,linear-gradient(90deg,var(--ne-hair) 1px,transparent 1px) 0 0/36px 36px,radial-gradient(ellipse at 50% 100%,rgba(205,255,61,.12),transparent 60%),var(--ne-panel)}

/* chapô */
.ne-chapo{margin:0 0 34px;font:400 clamp(20px,4.6vw,25px)/1.5 var(--ne-sans);letter-spacing:-.01em;color:#d9dad4}
.ne-chapo strong{color:var(--ne-ink);font-weight:500}

/* sommaire */
.ne-toc{margin:0 0 46px;border:1px solid var(--ne-line);border-radius:12px;background:var(--ne-panel)}
.ne-toc summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;font:500 11px/1 var(--ne-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ne-lime)}
.ne-toc summary::-webkit-details-marker{display:none}
.ne-toc summary::after{content:"+";font-size:16px}
.ne-toc[open] summary::after{content:"−"}
.ne-toc ol{margin:0;padding:0 18px 16px;list-style:none;counter-reset:toc}
.ne-toc li{counter-increment:toc;border-top:1px solid var(--ne-hair)}
.ne-toc a{display:flex;gap:14px;padding:11px 0;font-size:15px;line-height:1.4;color:var(--ne-ink2);text-decoration:none}
.ne-toc a::before{content:counter(toc,decimal-leading-zero);font:500 11px/1.9 var(--ne-mono);color:var(--ne-dim)}
.ne-toc a:hover,.ne-toc a.is-active{color:var(--ne-ink)}
.ne-toc a.is-active::before{color:var(--ne-lime)}

/* sections & prose */
.ne-section{padding:10px 0 34px;scroll-margin-top:80px}
.ne-section>h2,.ne-prose h2{margin:22px 0 18px;font:700 clamp(26px,6.4vw,40px)/1.08 var(--ne-sans);letter-spacing:-.035em;text-transform:uppercase}
.ne-section>h2::before{content:attr(data-num);display:block;margin-bottom:12px;font:500 11px/1 var(--ne-mono);letter-spacing:.15em;color:var(--ne-lime)}
.ne-prose h3,.ne-section h3{margin:30px 0 10px;font:500 21px/1.25 var(--ne-sans);letter-spacing:-.015em}
.ne-prose p,.ne-section>p{margin:0 0 18px;color:#c9cac4}
.ne-prose strong,.ne-section strong{color:var(--ne-ink);font-weight:500}
.ne-prose a,.ne-section p a,.ne-list a{color:var(--ne-ink);text-decoration:underline;text-decoration-color:var(--ne-lime);text-underline-offset:3px}
.ne-prose a:hover,.ne-section p a:hover{color:var(--ne-lime)}

/* listes */
.ne-list{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:10px}
.ne-list li{position:relative;padding-left:26px;color:#c9cac4}
.ne-list li::before{content:"";position:absolute;left:2px;top:.7em;width:10px;height:2px;background:var(--ne-lime)}
ol.ne-list{counter-reset:li}
ol.ne-list li{counter-increment:li;padding-left:34px}
ol.ne-list li::before{content:counter(li,decimal-leading-zero);top:.2em;width:auto;height:auto;background:none;font:500 11px/1.8 var(--ne-mono);color:var(--ne-lime)}
.ne-list--check li::before{content:"✓";top:.05em;width:auto;height:auto;background:none;font:500 13px/1.7 var(--ne-mono);color:var(--ne-lime)}
.ne-list--no li::before{content:"×";top:.05em;width:auto;height:auto;background:none;font:500 14px/1.6 var(--ne-mono);color:var(--ne-red)}

/* étapes (timeline) */
.ne-steps{position:relative;margin:10px 0 34px;padding:0;list-style:none;counter-reset:st}
.ne-steps::before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:1px;background:var(--ne-line)}
.ne-steps::after{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:1px;background:var(--ne-lime);transform-origin:top;transform:scaleY(0);transition:transform 1.6s var(--ne-ease)}
.ne-steps.is-in::after{transform:scaleY(1)}
.ne-steps li{position:relative;counter-increment:st;padding:0 0 26px 56px}
.ne-steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:0;width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--ne-lime);border-radius:50%;background:var(--ne-bg);font:500 11px/1 var(--ne-mono);color:var(--ne-lime);z-index:1}
.ne-steps h3{margin:4px 0 6px;font:500 19px/1.3 var(--ne-sans)}
.ne-steps p{margin:0;color:var(--ne-ink2);font-size:15.5px}

/* encadré */
.ne-callout{position:relative;margin:8px 0 30px;padding:20px 20px 20px 22px;border:1px solid var(--ne-line);border-left:2px solid var(--ne-lime);border-radius:4px 12px 12px 4px;background:var(--ne-panel)}
.ne-callout__t{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:500 11px/1 var(--ne-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ne-lime)}
.ne-callout p{margin:0;color:#c9cac4;font-size:16px}
.ne-callout p+p{margin-top:10px}
.ne-callout--warn{border-left-color:var(--ne-red)}
.ne-callout--warn .ne-callout__t{color:var(--ne-red)}
.ne-callout--key{border:1px solid var(--ne-lime);background:linear-gradient(135deg,rgba(205,255,61,.08),transparent 60%),var(--ne-panel)}

/* tableau */
.ne-table{margin:8px 0 32px;border:1px solid var(--ne-line);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--ne-panel)}
.ne-table table{width:100%;min-width:520px;border-collapse:collapse;font-size:14.5px}
.ne-table caption{caption-side:bottom;text-align:left;padding:12px 16px;font:400 11px/1.4 var(--ne-mono);color:var(--ne-dim)}
.ne-table th,.ne-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ne-hair)}
.ne-table th{font:500 10px/1.3 var(--ne-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ne-lime);background:var(--ne-media)}
.ne-table td{color:var(--ne-ink2)}
.ne-table td:first-child{color:var(--ne-ink);font-weight:500}
.ne-table tr:last-child td{border-bottom:0}

/* citation */
.ne-quote{margin:14px 0 36px;padding:26px 0 0;border-top:1px solid var(--ne-lime);position:relative}
.ne-quote::before{content:"“";position:absolute;top:-6px;right:0;font:700 82px/1 var(--ne-sans);color:var(--ne-lime);opacity:.9}
.ne-quote blockquote{margin:0;padding-right:44px;font:500 clamp(22px,5.4vw,30px)/1.32 var(--ne-sans);letter-spacing:-.02em}
.ne-quote figcaption{margin-top:16px;font:400 11px/1.5 var(--ne-mono);letter-spacing:.08em;color:var(--ne-ink2)}
.ne-quote figcaption a{color:var(--ne-ink2)}

/* chiffre sourcé */
.ne-stat{margin:8px 0 32px;padding:22px;border:1px solid var(--ne-line);border-radius:12px;background:var(--ne-panel);display:grid;gap:6px}
.ne-stat__v{font:700 clamp(44px,12vw,72px)/1 var(--ne-sans);letter-spacing:-.05em;color:var(--ne-lime)}
.ne-stat__l{font-size:16px;color:var(--ne-ink)}
.ne-stat__s{font:400 11px/1.5 var(--ne-mono);color:var(--ne-dim)}
.ne-stats{display:grid;gap:12px;margin:8px 0 32px}
.ne-stats .ne-stat{margin:0}

/* points clés */
.ne-keys{display:grid;gap:12px;margin:8px 0 34px;padding:0;list-style:none}
.ne-keys li{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;padding:18px;border:1px solid var(--ne-line);border-radius:12px;background:var(--ne-panel)}
.ne-keys .ne-ico{width:38px;height:38px;padding:9px;border:1px solid var(--ne-field);border-radius:10px;color:var(--ne-lime)}
.ne-keys strong{display:block;font-weight:500;line-height:1.35;margin-bottom:4px}
.ne-keys span{display:block;color:var(--ne-ink2);font-size:15px;line-height:1.55}

/* avant / après */
.ne-vs{display:grid;gap:12px;margin:8px 0 34px}
.ne-vs>div{padding:20px;border:1px solid var(--ne-line);border-radius:12px;background:var(--ne-panel)}
.ne-vs>div:last-child{border-color:var(--ne-lime)}
.ne-vs h3{margin:0 0 12px!important;font:500 11px/1 var(--ne-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--ne-ink2)}
.ne-vs>div:last-child h3{color:var(--ne-lime)}
.ne-vs .ne-list{margin:0}

/* figure image */
.ne-figure{margin:8px 0 34px}
.ne-figure img{display:block;width:100%;border:1px solid var(--ne-line);border-radius:12px;background:var(--ne-media)}
.ne-figure figcaption{margin-top:10px;font:400 11px/1.5 var(--ne-mono);color:var(--ne-dim)}

/* visuels intégrés dans un article */
.ne-visual{margin:8px 0 36px}
.ne-visual>figcaption{margin-top:10px;font:400 11px/1.5 var(--ne-mono);color:var(--ne-dim)}
.ne-visual .ne-split{margin:0}
.ne-visual--phones{display:flex;justify-content:center;gap:14px;padding:26px 12px;border:1px solid var(--ne-line);border-radius:14px;background:var(--ne-cover-bg,var(--ne-panel))}
.ne-visual--phones .ne-phone{--w:min(26vw,104px)}
.ne-visual--phones .ne-phone:nth-child(2){transform:translateY(-12px)}

/* FAQ */
.ne-faq{margin:0 0 34px}
.ne-faq details{border-top:1px solid var(--ne-line)}
.ne-faq details:last-child{border-bottom:1px solid var(--ne-line)}
.ne-faq summary{position:relative;padding:18px 40px 18px 0;cursor:pointer;list-style:none;font:500 17px/1.4 var(--ne-sans)}
.ne-faq summary::-webkit-details-marker{display:none}
.ne-faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 18px var(--ne-mono);color:var(--ne-lime)}
.ne-faq details[open] summary::after{content:"−"}
.ne-faq details p{margin:0;padding:0 36px 20px 0;color:var(--ne-ink2);font-size:16px}

/* sources */
.ne-sources{margin:10px 0 40px;padding:20px;border:1px solid var(--ne-hair);border-radius:12px;background:var(--ne-panel)}
.ne-sources h2{margin:0 0 14px!important;font:500 11px/1 var(--ne-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--ne-lime)}
.ne-sources h2::before{display:none!important}
.ne-sources ol{margin:0;padding:0;list-style:none;counter-reset:src;display:grid;gap:10px}
.ne-sources li{counter-increment:src;display:grid;grid-template-columns:28px 1fr;font-size:14px;line-height:1.5;color:var(--ne-ink2);overflow-wrap:anywhere}
.ne-sources li::before{content:"[" counter(src) "]";font:400 11px/1.9 var(--ne-mono);color:var(--ne-dim)}
.ne-sources a{color:var(--ne-ink);text-decoration:underline;text-decoration-color:var(--ne-off);text-underline-offset:3px}
.ne-sources a:hover{text-decoration-color:var(--ne-lime)}

/* CTA */
.ne-cta{position:relative;margin:20px 0 60px;padding:28px 22px;border:1px solid var(--ne-lime);border-radius:16px;background:linear-gradient(135deg,rgba(205,255,61,.09),transparent 55%),var(--ne-panel);overflow:hidden}
.ne-cta h2{margin:12px 0 10px!important;font:700 clamp(26px,6.6vw,40px)/1.05 var(--ne-sans)!important;letter-spacing:-.035em;text-transform:uppercase}
.ne-cta h2::before{display:none!important}
.ne-cta p{margin:0 0 22px;color:var(--ne-ink2)}
.ne-cta .ne-btn{width:100%}

/* articles liés / index */
.ne-cards{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.ne-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--ne-line);border-radius:14px;background:var(--ne-panel);overflow:hidden;transition:border-color .2s,transform .4s var(--ne-ease)}
.ne-card:hover{border-color:var(--ne-lime);transform:translateY(-3px)}
.ne-card .ne-cover{margin:0;border:0;border-bottom:1px solid var(--ne-hair);border-radius:0;aspect-ratio:16/9}
.ne-card .ne-cover .ne-fan{bottom:-56px}
.ne-card .ne-cover .ne-fan .ne-phone{--w:72px}
.ne-card .ne-cover .ne-fan .ne-phone:nth-child(2){--w:86px}
.ne-card__body{display:grid;gap:10px;padding:18px 18px 20px}
.ne-card__meta{display:flex;flex-wrap:wrap;gap:6px 12px;font:400 10px/1.4 var(--ne-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ne-dim)}
.ne-card__meta b{font-weight:500;color:var(--ne-lime)}
.ne-card h2,.ne-card h3{margin:0;font:500 20px/1.25 var(--ne-sans);letter-spacing:-.015em}
.ne-card h2 a,.ne-card h3 a{text-decoration:none}
.ne-card h2 a::after,.ne-card h3 a::after{content:"";position:absolute;inset:0}
.ne-card p{margin:0;color:var(--ne-ink2);font-size:15px;line-height:1.55}
.ne-card--soon{border-style:dashed;pointer-events:none}
.ne-card--soon .ne-card__body i{display:block;height:10px;border-radius:5px;background:var(--ne-hair)}
.ne-card--soon .ne-card__body i:nth-child(2){width:72%}
.ne-card--soon .ne-card__body i:nth-child(3){width:48%}
.ne-related{padding:40px 0 10px;border-top:1px solid var(--ne-hair)}
.ne-related>h2{margin:0 0 20px;font:500 11px/1 var(--ne-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ne-lime)}

/* index du blog */
.ne-index-hero{padding:46px 0 30px}
.ne-index-hero p{max-width:640px;margin:20px 0 0;color:var(--ne-ink2);font-size:18px}
.ne-index-hero .ne-eyebrow{font-size:11px;color:var(--ne-lime)}
.ne-filters{display:flex;gap:8px;margin:0 0 26px;padding:0 0 4px;overflow-x:auto;scrollbar-width:none;list-style:none}
.ne-filters::-webkit-scrollbar{display:none}
.ne-filters a{text-decoration:none}
.ne-filters a[aria-current]{border-color:var(--ne-lime);color:var(--ne-lime)}
.ne-empty{display:grid;gap:8px;margin:0 0 26px;padding:16px 18px;border:1px solid var(--ne-line);border-radius:12px;background:var(--ne-panel);font:400 12px/1.6 var(--ne-mono);color:var(--ne-ink2)}
.ne-empty b{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--ne-ink)}

/* footer */
.ne-foot{margin-top:40px;border-top:1px solid var(--ne-hair);padding:26px 0 40px}
.ne-foot__in{display:flex;flex-direction:column;gap:16px;font:400 11px/1.5 var(--ne-mono);color:var(--ne-ink2)}
.ne-foot__links{display:flex;flex-wrap:wrap;gap:10px 20px}
.ne-foot a{text-decoration:none}
.ne-foot a:hover{color:var(--ne-lime)}

@media (max-width:699px){
  .ne-top__links a:not(.ne-btn){display:none}
  .ne-top__links a.ne-back{display:inline-flex;align-items:center;min-height:40px;padding:0 4px;font:400 11px var(--ne-mono);color:var(--ne-ink2);text-decoration:none}
  .ne-brand span{display:none}
}
@media (min-width:700px){
  .ne-page{font-size:18px}
  .ne-hero{padding:64px 0 40px}
  .ne-cta{padding:40px}
  .ne-cta .ne-btn{width:auto}
  .ne-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
  .ne-vs{grid-template-columns:1fr 1fr}
  .ne-cards{grid-template-columns:repeat(2,1fr)}
  .ne-foot__in{flex-direction:row;justify-content:space-between;align-items:center}
  .ne-toc{position:relative}
}
@media (min-width:1000px){
  .ne-cards{grid-template-columns:repeat(3,1fr)}
  .ne-cards--feature>li:first-child{grid-column:span 2}
  .ne-cards--feature>li:first-child .ne-cover{aspect-ratio:21/9}
}

/* =====================================================================
   COUCHE VISUELLE /clipping/ — body.ne-clip
   (s'applique par-dessus les styles de la page, sans toucher au texte)
   ===================================================================== */
.ne-clip .hero-fan{display:none}

/* pipeline animé de la fenêtre momentum.workflow */
.ne-clip .pipe-row:first-child .pipe-visual{position:relative}
.ne-clip .pipe-row:first-child .pipe-visual::after{content:"";position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ne-lime);box-shadow:0 0 10px var(--ne-lime);animation:ne-scan 4.2s linear infinite}
.ne-clip .wave{animation:ne-eq 1.3s ease-in-out infinite}
.ne-clip .wave:nth-child(2n){animation-delay:-.4s}
.ne-clip .wave:nth-child(3n){animation-delay:-.8s}
.ne-clip .wave:nth-child(5n){animation-delay:-1.1s}
.ne-clip .clip-card,.ne-clip .clip-card:nth-child(2),.ne-clip .clip-card:nth-child(5){width:30px;height:52px;border-color:var(--ne-field);border-radius:5px;overflow:hidden;background:radial-gradient(circle at 50% 38%,#34383b 0 16%,transparent 17%),radial-gradient(ellipse 40% 26% at 50% 74%,#34383b 0 96%,transparent 100%),linear-gradient(#16181a,#0c0d0e);animation:ne-hi 4.8s var(--ne-ease) infinite}
.ne-clip .clip-card:after{left:4px;right:9px;bottom:8px;height:2px;background:var(--ne-lime)}
.ne-clip .clip-card:before{content:"";position:absolute;top:4px;left:4px;right:4px;height:1.5px;background:rgba(244,242,236,.35)}
.ne-clip .clip-card:nth-child(2){animation-delay:.8s}
.ne-clip .clip-card:nth-child(3){animation-delay:1.6s}
.ne-clip .clip-card:nth-child(4){animation-delay:2.4s}
.ne-clip .clip-card:nth-child(5){animation-delay:3.2s}
.ne-clip .clip-card:nth-child(6){animation-delay:4s}
.ne-clip .track-line{border-radius:3px}
.ne-clip .track-line:after{inset:0;transform-origin:left;animation:ne-fill 4.8s var(--ne-ease) infinite}
.ne-clip .pipe-plat{display:flex;gap:8px;margin-left:auto}
.ne-clip .pipe-plat .ne-ico{width:15px;height:15px}

/* bandeau de contexte avec icônes */
.ne-clip .context-grid .ne-ico{display:block;width:22px;height:22px;margin-bottom:12px;color:var(--ne-lime)}

/* étapes : ligne de progression + icônes */
.ne-clip .steps{position:relative}
.ne-clip .steps::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--ne-lime);transform-origin:left;transform:scaleX(0);transition:transform 1.8s var(--ne-ease) .2s;z-index:2}
.ne-clip .steps.is-in::before{transform:scaleX(1)}
.ne-clip .step{position:relative;transition:background .3s}
.ne-clip .step:hover{background:var(--ne-panel)}
.ne-clip .step-ico{display:grid;place-items:center;width:46px;height:46px;margin-bottom:22px;border:1px solid var(--ne-field);border-radius:12px;background:var(--ne-panel)}
.ne-clip .step-ico .ne-ico{width:22px;height:22px;color:var(--ne-lime)}
.ne-clip .step .ne-phone{display:none}

/* livrables */
.ne-clip .deliverable{border-radius:14px;transition:border-color .25s}
.ne-clip .deliverable:hover{border-color:var(--ne-lime)}

/* exemple : visuels dans les deux boîtes */
.ne-clip .example-box .ne-viz{margin:18px 0 4px}
.ne-clip .ne-viz--long{display:flex;align-items:center;padding:0 14px}
.ne-clip .ne-viz--long .ne-split__track{flex:1;height:64px}
.ne-clip .ne-viz--long .ne-split__track svg{stroke:#3a3e41}
.ne-clip .example-arrow{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--ne-lime);border-radius:50%;animation:ne-float 3s ease-in-out infinite}

/* secteurs */
.ne-clip .fit-card{transition:border-color .3s}

/* final */
.ne-clip .final{overflow:hidden}

@media (max-width:900px){
  .ne-clip .faq{margin-inline:auto}
  .ne-clip .hero{gap:36px}
  .ne-clip .hero-fan{display:flex}
  .ne-clip .example-arrow{transform:none;animation:none}
  .ne-clip .example-arrow span{display:block;transform:rotate(90deg)}
}

/* desktop : l'éventail rejoint la colonne visuelle, au-dessus du workflow */
@media (min-width:901px){
  .ne-clip .hero{align-items:start;align-content:center;row-gap:0}
  .ne-clip .hero>div:first-child{display:contents}
  .ne-clip .hero>div:first-child>*{grid-column:1}
  .ne-clip .hero>div:first-child>.hero-fan{display:flex;grid-column:2;grid-row:1/3;align-self:end;height:330px;margin:0 0 -18px}
  .ne-clip .hero .hero-fan .ne-phone{--w:124px;margin:0 -14px 16px}
  .ne-clip .hero .hero-fan .ne-phone:nth-child(2){--w:146px}
  .ne-clip .hero .source-window{grid-column:2;grid-row:3/6;position:relative;z-index:4}
}

/* mobile : carrousels à aimantation pour raccourcir la page */
@media (max-width:620px){
  .ne-clip .hero{padding:30px 0 52px}
  .ne-clip .hero-lead{font-size:17px;margin-top:4px}
  .ne-clip .hero-note{font-size:15px}
  .ne-clip .section{padding:60px 0}
  .ne-clip .final{padding:60px 0}
  .ne-clip .section-head{margin-bottom:26px}
  .ne-clip .definition{font-size:22px}
  .ne-clip .context-strip{padding:16px 0}
  .ne-clip .steps,.ne-clip .deliverables,.ne-clip .fit-grid,.ne-clip .context-grid,.ne-clip .example{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:0;margin-right:-16px;padding-right:16px;padding-bottom:6px;background:none;border:0;scrollbar-width:none}
  .ne-clip .context-grid{grid-auto-columns:72%;width:auto;margin-left:16px}
  .ne-clip .steps::-webkit-scrollbar,.ne-clip .deliverables::-webkit-scrollbar,.ne-clip .fit-grid::-webkit-scrollbar,.ne-clip .context-grid::-webkit-scrollbar,.ne-clip .example::-webkit-scrollbar{display:none}
  .ne-clip .steps>*,.ne-clip .deliverables>*,.ne-clip .fit-grid>*,.ne-clip .context-grid>*,.ne-clip .example>*{scroll-snap-align:start;min-width:0}
  .ne-clip .step{border:1px solid var(--ne-line);border-radius:14px;background:var(--ne-panel)}
  .ne-clip .steps::before{display:none}
  .ne-clip .context-grid div{border:1px solid var(--ne-line);border-radius:12px;padding:18px}
  .ne-clip .fit-card{border:1px solid var(--ne-line);border-top:1px solid var(--ne-lime);border-radius:14px;padding:16px;background:var(--ne-panel)}
  .ne-clip .fit-card .ne-sector{margin:0 0 16px}
  .ne-clip .example{grid-auto-columns:86%}
  .ne-clip .example-arrow{display:none}
  .ne-clip .example-box{min-height:0;padding:20px}
  .ne-clip .tracking-list div{padding:13px 0;font-size:13.5px}
  .ne-clip .ne-swipe{display:flex}
  .ne-clip .ne-split{padding:16px;margin-top:28px}
  .ne-clip .ne-split__out .ne-phone{--w:62px}
  .ne-clip .ne-reel{margin-bottom:40px}
  .ne-clip .compare{margin-top:30px}
  .ne-clip .ne-fan{height:226px;margin-top:20px}
  .ne-clip .ne-fan .ne-phone{--w:86px}
  .ne-clip .ne-fan .ne-phone:nth-child(2){--w:102px}
  .ne-clip .definition{font-size:20px;margin-top:24px!important}
  .ne-clip summary{padding:16px 36px 16px 0;font-size:16px;line-height:1.4}
  .ne-clip summary:after{top:15px}
  .ne-clip details p{padding:0 0 18px;font-size:15px}
  .ne-clip .tracking-list div{display:grid;grid-template-columns:104px 1fr;gap:12px}
  .ne-clip .tracking-list span:last-child{text-align:left}
  .ne-clip .ne-dash .ne-bars{padding:16px;gap:13px}
  .ne-clip .truth-note{font-size:14.5px}
  .ne-clip .window-body{padding:14px 18px}
  .ne-clip .pipe-row{padding:11px 0}
}
.ne-swipe{display:none;align-items:center;gap:8px;margin:-12px 0 14px;font:400 10px/1 var(--ne-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ne-dim)}
.ne-swipe::after{content:"→";color:var(--ne-lime);animation:ne-float 1.6s ease-in-out infinite}

/* ---------- accessibilité : mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  .ne-js [data-ne-reveal]{opacity:1;transform:none;transition:none}
  .ne-page *,.ne-page *::before,.ne-page *::after,.ne-clip *,.ne-clip *::before,.ne-clip *::after{animation:none!important;transition:none!important}
  .ne-steps::after,.ne-clip .steps::before,.ne-bars span::after{transform:none}
  .ne-reel__track{transform:none}
}
/* clips défilants : pas de ken burns pour rester léger */
.ne-reel .ne-scene{animation:none}

/* vraies couvertures de clips dans un téléphone (remplace .ne-scene) */
.ne-phone__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ne-phone--blur .ne-phone__img{filter:blur(5px) saturate(.6);transform:scale(1.08)}
.ne-phone__img~.ne-phone__cap{display:none}
.ne-phone__screen video.ne-phone__img{background:var(--ne-media)}
.ne-phone__stat{position:absolute;left:9%;top:13%;z-index:3;display:inline-flex;align-items:center;gap:.35em;padding:.25em .6em;border-radius:999px;background:rgba(8,9,10,.75);font:500 calc(var(--w)*.085)/1.2 var(--ne-mono);color:var(--ne-ink);white-space:nowrap}
.ne-phone__stat::before{content:"▶";color:var(--ne-lime);font-size:.8em}
.ne-phone__handle{position:absolute;left:28%;bottom:8.5%;z-index:3;font:500 calc(var(--w)*.068)/1 var(--ne-mono);color:var(--ne-ink);text-shadow:0 1px 4px #000;white-space:nowrap}
.ne-fan__note{position:absolute;left:0;right:0;bottom:-20px;text-align:center;font:400 9.5px/1 var(--ne-mono);letter-spacing:.06em;color:var(--ne-dim)}
.ne-clip .hero-fan{margin-bottom:28px}
.ne-fan .ne-phone:not(:nth-child(2)) .ne-phone__handle{display:none}

/* --- v3 : pipeline pleine largeur --- */
.ne-clip .pipe-row:first-child .pipe-visual,.ne-clip .pipe-row:nth-child(2) .pipe-visual{justify-content:space-between}
.ne-clip .wave{flex:0 0 4px}

/* --- v3 : gerbes de clips (impression de masse) --- */
.ne-split__links{height:64px}
.ne-split__links path{stroke-width:1}
.ne-split__out{gap:12px}
.ne-deck{position:relative;display:flex;justify-content:center;align-items:flex-end;height:176px;width:100%}
.ne-deck .ne-phone{--w:58px;margin:0 -16px;box-shadow:0 10px 24px rgba(0,0,0,.6)}
.ne-deck .ne-phone:nth-child(1){transform:rotate(-14deg) translateY(10px) scale(.78);opacity:.5}
.ne-deck .ne-phone:nth-child(2){transform:rotate(-7deg) translateY(2px) scale(.9);opacity:.8;z-index:1}
.ne-deck .ne-phone:nth-child(3){--w:76px;z-index:3;animation:ne-float 4.5s ease-in-out infinite}
.ne-deck .ne-phone:nth-child(4){transform:rotate(7deg) translateY(2px) scale(.9);opacity:.8;z-index:1}
.ne-deck .ne-phone:nth-child(5){transform:rotate(14deg) translateY(10px) scale(.78);opacity:.5}
.ne-split__out:nth-child(2) .ne-deck .ne-phone:nth-child(3){animation-delay:-1.5s}
.ne-split__out:nth-child(3) .ne-deck .ne-phone:nth-child(3){animation-delay:-3s}
.ne-split__plat{display:flex;gap:8px;opacity:.7}
.ne-split__plat .ne-ico{width:12px;height:12px}
@media (min-width:901px){
  .ne-deck{height:220px}
  .ne-deck .ne-phone{--w:76px;margin:0 -12px}
  .ne-deck .ne-phone:nth-child(3){--w:96px}
}
@media (max-width:620px){
  .ne-clip .ne-split__out .ne-phone{--w:40px}
  .ne-clip .ne-deck{height:128px}
  .ne-clip .ne-deck .ne-phone{margin:0 -15px}
  .ne-clip .ne-deck .ne-phone:nth-child(3){--w:56px}
  .ne-clip .ne-deck .ne-phone:nth-child(1),.ne-clip .ne-deck .ne-phone:nth-child(5){display:none}
}

/* --- v3 : bandeau continu, deux rangées --- */
.ne-reel{display:grid;gap:12px}
.ne-reel__track{animation-duration:150s}
.ne-reel__track--rev{animation-direction:reverse;animation-duration:170s}
.ne-reel .ne-phone{--w:58px}
.ne-clip .wave{flex:0 0 3px}
