/* =====================================================================
   Ï-NAYA — SECTION « LES TECHNOLOGIES »
   ===================================================================== */

/* ---------- 0. SOCLE COMMUN (identique au hero : peut être chargé 2 fois) ---------- */
.nx-scope{--nx-navy:#0A2A43;--nx-night:#081F38;--nx-cyan:#00D1C1;--nx-cyan-2:#22E4EC;--nx-teal:#007D79;--nx-blue:#1D7BE8;--nx-violet:#7B6CFF;
  --nx-paper:#F7FAFC;--nx-line:#DBE6ED;--nx-muted:#4F6577;--nx-ease:cubic-bezier(.2,.8,.2,1);--nx-ease-out:cubic-bezier(.16,1,.3,1);
  --nx-font:"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--nx-gutter:clamp(20px,5.2vw,80px);
  font-family:var(--nx-font);color:var(--nx-navy);-webkit-font-smoothing:antialiased}
.nx-scope *,.nx-scope *::before,.nx-scope *::after{box-sizing:border-box}
.nx-scope img,.nx-scope svg{display:block;max-width:100%}
:where(.nx-scope) a{color:inherit;text-decoration:none}
:where(.nx-scope) h2,:where(.nx-scope) h3,:where(.nx-scope) h4,:where(.nx-scope) p{margin:0}
.nx-scope :focus-visible{outline:3px solid var(--nx-cyan);outline-offset:4px;border-radius:12px}
@property --nx-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes nxSpin{to{--nx-angle:360deg}}
@keyframes nxDraw{to{stroke-dashoffset:0}}
@keyframes nxPing{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.9);opacity:0}}
@keyframes nxRot{to{transform:rotate(360deg)}}

.nx-btn{--h:54px;position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;height:var(--h);border-radius:999px;
  font:700 14.5px/1 var(--nx-font);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;border:0;isolation:isolate;
  transition:transform .35s var(--nx-ease),box-shadow .35s var(--nx-ease)}
.nx-btn__icon{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.nx-btn__icon svg{width:18px;height:18px;grid-area:1/1;transition:transform .5s var(--nx-ease)}
.nx-btn__icon svg+svg{transform:translateX(-160%)}
.nx-btn:hover .nx-btn__icon svg:first-child{transform:translateX(160%)}
.nx-btn:hover .nx-btn__icon svg+svg{transform:none}
.nx-btn--primary{padding:0 8px 0 24px;color:var(--nx-navy);background:linear-gradient(180deg,#2BE6D6 0%,var(--nx-cyan) 55%,#00BFB1 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 14px 34px -12px rgba(0,209,193,.75),0 2px 6px rgba(8,31,56,.12)}
.nx-btn--primary .nx-btn__icon{background:var(--nx-navy);color:var(--nx-cyan)}
.nx-btn--primary::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%) no-repeat;background-size:250% 100%;background-position:130% 0;animation:nxSheen 5.5s 1.5s ease-in-out infinite}
@keyframes nxSheen{0%,70%{background-position:130% 0}100%{background-position:-130% 0}}
.nx-btn--primary:hover{box-shadow:0 20px 44px -12px rgba(0,209,193,.9),0 0 0 6px rgba(0,209,193,.16)}
.nx-btn--ghost{padding:0 8px 0 24px;color:var(--nx-navy);border:1.5px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(var(--nx-angle),#BCD0DC,var(--nx-cyan),var(--nx-blue),#BCD0DC) border-box;animation:nxSpin 6s linear infinite;box-shadow:0 8px 24px -16px rgba(8,31,56,.35)}
.nx-btn--ghost .nx-btn__icon{background:var(--nx-navy);color:#fff}
.nx-btn--ghost:hover{box-shadow:0 16px 36px -16px rgba(8,31,56,.45)}


/* ---------- SECTION « LES TECHNOLOGIES » ---------- */
.nxt{--t-ink:#0A2A43;--t-txt:#4A5D73;--t-blue:#1E6FE8;--t-blue-d:#1550C7;--t-cyan:#12B8CC;--t-teal:#0E93A6;--t-line:#E2EAF5;
  position:relative;isolation:isolate;overflow:hidden;background:#F7FAFD;padding:clamp(32px,2.6vw,60px) 0 clamp(36px,3vw,64px)}
.nxt-defs{position:absolute;width:0;height:0;overflow:hidden}
.nxt-shell{width:min(1500px,calc(100% - 2 * clamp(16px,2.6vw,48px)));margin-inline:auto;position:relative;z-index:2}

/* Décor : vagues, arcs, points, grain */
.nxt-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.nxt-bg svg{position:absolute;top:0;height:clamp(240px,26vw,420px);width:auto}
.nxt-bg .l{left:0}.nxt-bg .r{right:0}
.nxt-bg .arc{fill:none;stroke:rgba(30,111,232,.18);stroke-width:1.2}
.nxt-bg .dot{fill:#3A8CF5}
.nxt-bg .wave{animation:nxtWave 14s ease-in-out infinite alternate}
.nxt-bg .wave.b{animation-duration:18s;animation-delay:-6s}
@keyframes nxtWave{to{transform:translate(-14px,8px)}}
.nxt-bg .pulse{transform-box:fill-box;transform-origin:center;animation:nxtDotP 3.2s ease-in-out infinite}
@keyframes nxtDotP{50%{transform:scale(1.7);opacity:.45}}
.nxt-bg::after{content:"";position:absolute;inset:-60px;opacity:.03;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* En-tête */
.nxt-head{text-align:center;max-width:900px;margin:0 auto clamp(20px,1.7vw,34px)}
.nxt-eyebrow{display:inline-block;font-size:clamp(12px,.95vw,15px);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--t-teal);padding-left:.3em}
.nxt-eyebrow::after{content:"";display:block;width:58px;height:3px;border-radius:3px;margin:10px auto 0;background:linear-gradient(90deg,#12B8CC,#2ED3C6);transform-origin:center}
.nxt-title{margin-top:clamp(10px,1vw,16px);font-size:clamp(34px,3.75vw,62px);line-height:1.05;font-weight:800;letter-spacing:-.045em;color:var(--t-ink)}
.nxt-title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.nxt-title .w>span{display:inline-block}
.nxt-title em{font-style:normal;color:transparent;background:linear-gradient(95deg,#0FB2C9,#22CFC4 45%,#12A9D6 80%,#0FB2C9);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:nxtText 7s ease-in-out infinite alternate}
@keyframes nxtText{to{background-position:100% 0}}
.nxt-lead{margin-top:clamp(10px,1vw,16px);font-size:clamp(15px,1.3vw,20px);line-height:1.5;color:#3F5873}

/* Grille de cartes */
.nxt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.35vw,22px)}
.nxt-card{--cx:50%;--cy:0%;--rx:0deg;--ry:0deg;position:relative;display:flex;flex-direction:column;min-height:clamp(190px,14vw,226px);padding:clamp(16px,1.35vw,24px) clamp(18px,1.8vw,30px) clamp(14px,1.15vw,20px);
  border-radius:clamp(18px,1.5vw,24px);background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(246,250,255,.9));border:1px solid var(--t-line);
  box-shadow:0 1px 0 #fff inset,0 18px 40px -32px rgba(16,58,130,.35);isolation:isolate;overflow:hidden;
  transition:transform .55s var(--nx-ease),box-shadow .55s,border-color .4s}
.nxt-card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .45s;background:radial-gradient(360px circle at var(--cx) var(--cy),rgba(30,111,232,.09),transparent 60%)}
.nxt-card:hover{transform:translateY(-6px);border-color:#C6DAF6;box-shadow:0 1px 0 #fff inset,0 34px 60px -34px rgba(16,58,130,.45)}
.nxt-card:hover::before{opacity:1}
.nxt-brand{position:relative;z-index:2;display:flex;align-items:center;gap:10px;height:clamp(34px,2.7vw,42px)}
.nxt-brand img{max-height:100%;max-width:150px;width:auto;object-fit:contain}
/* Pastilles aux couleurs d'origine des éditeurs */
.nxt-chip{--c1:#00B8F1;--c2:#1D61BC;--ic:#fff;--glow:rgba(29,97,188,.55);position:relative;flex-shrink:0;width:clamp(36px,2.8vw,44px);aspect-ratio:1;border-radius:12px;display:grid;place-items:center;color:var(--ic);
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.6) 50%,transparent 62%) no-repeat,linear-gradient(145deg,var(--c1),var(--c2));background-size:260% 100%,100% 100%;background-position:160% 0,0 0;
  box-shadow:0 10px 20px -9px var(--glow),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.08);
  animation:nxtShine 4.2s ease-in-out infinite,nxtBob 3.6s ease-in-out infinite;animation-delay:calc(var(--k,0) * .35s),calc(var(--k,0) * -.3s);transition:transform .5s var(--nx-ease)}
.nxt-chip::before{content:"";position:absolute;inset:-4px;border-radius:15px;border:1.5px solid var(--c1);opacity:0;animation:nxtRing 4.2s ease-out infinite;animation-delay:calc(var(--k,0) * .35s + .3s)}
@keyframes nxtShine{0%,55%{background-position:160% 0,0 0}85%,100%{background-position:-60% 0,0 0}}
@keyframes nxtBob{50%{translate:0 -2px}}
@keyframes nxtRing{0%,50%{opacity:0;scale:.9}60%{opacity:.7}100%{opacity:0;scale:1.35}}
.nxt-card:hover .nxt-chip{transform:translateY(-3px) rotate(-8deg) scale(1.08)}
.nxt-chip svg{position:relative;width:56%;height:56%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nxt-chip.c-sap{--c1:#00B8F1;--c2:#1A5FB4;--glow:rgba(10,110,209,.55)}
.nxt-chip.c-snow{--c1:#5FD0F5;--c2:#1E9BD7;--glow:rgba(41,181,232,.55)}
.nxt-chip.c-dbx{--c1:#FF5A3C;--c2:#D9261A;--glow:rgba(255,54,33,.5)}
.nxt-chip.c-gcp{--c1:#5C9BFF;--c2:#2F6BE0;--glow:rgba(66,133,244,.55)}
.nxt-chip.c-gcp::after{content:"";position:absolute;left:7px;right:7px;bottom:4px;height:3px;border-radius:3px;background:linear-gradient(90deg,#4285F4 0 25%,#EA4335 25% 50%,#FBBC05 50% 75%,#34A853 75%)}
.nxt-chip.c-gen{--c1:#3A3A3A;--c2:#0B0B0B;--glow:rgba(0,0,0,.45)}
.nxt-chip.c-ops{--c1:#0A7CFF;--c2:#7A3CF0;--glow:rgba(96,70,240,.5)}
.nxt-chip.c-pbi{--c1:#FFDF4A;--c2:#E8A202;--ic:#3A2A00;--glow:rgba(232,162,2,.55)}
.nxt-chip.c-eu{--c1:#1648C2;--c2:#003399;--ic:#FFCC00;--glow:rgba(0,51,153,.55)}
.nxt-vendor{font-size:clamp(11px,.85vw,13px);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1A4FA8}
.nxt-vendor.c-sap{color:#0A6ED1}.nxt-vendor.c-snow{color:#1E9BD7}.nxt-vendor.c-dbx{color:#E8301E}.nxt-vendor.c-gcp{color:#4285F4}
.nxt-vendor.c-gen{color:#111}.nxt-vendor.c-ops{background:linear-gradient(90deg,#0A7CFF,#7A3CF0);-webkit-background-clip:text;background-clip:text;color:transparent}
.nxt-vendor.c-pbi{color:#C98A00}.nxt-vendor.c-eu{color:#003399}

/* Animations propres à chaque pictogramme */
.nxt-chip .dr{stroke-dasharray:8;animation:nxtDraw 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * .22s)}
@keyframes nxtDraw{0%,8%{stroke-dashoffset:8}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-8}}
.nxt-chip .ck{stroke-dasharray:12;animation:nxtCk 3.4s ease-in-out infinite}
@keyframes nxtCk{0%,30%{stroke-dashoffset:12}55%,92%{stroke-dashoffset:0}100%{stroke-dashoffset:12}}
.nxt-chip .cb{transform-origin:12px 12px;animation:nxtCube 3.6s cubic-bezier(.5,0,.3,1) infinite}
@keyframes nxtCube{0%,60%,100%{transform:none}75%{transform:translateY(-2.5px) rotate(-12deg)}88%{transform:translateY(.5px) rotate(4deg)}}
.nxt-chip .tw{transform-origin:20px 4px;animation:nxtTw 2.4s ease-in-out infinite}
@keyframes nxtTw{0%,100%{opacity:0;scale:.3}50%{opacity:1;scale:1}}
.nxt-chip .br{transform-box:fill-box;transform-origin:50% 100%;animation:nxtBr 2.4s ease-in-out infinite;animation-delay:calc(var(--i) * .2s)}
@keyframes nxtBr{0%,100%{scale:1 1}50%{scale:1 .45}}
.nxt-chip.i-bars rect{fill:currentColor;stroke:none}
.nxt-chip .cl{animation:nxtCl 3.6s ease-in-out infinite}
@keyframes nxtCl{50%{translate:-1.2px -.8px}}
.nxt-chip .dbp{animation:nxtDbp 2.2s ease-in-out infinite}
@keyframes nxtDbp{50%{translate:0 -1.5px;opacity:.75}}
.nxt-chip .fk{transform-origin:12px 12px;animation:nxtFk 6s cubic-bezier(.6,0,.3,1) infinite}
@keyframes nxtFk{0%{transform:rotate(0)}40%{transform:rotate(120deg) scale(.85)}50%,100%{transform:rotate(120deg) scale(1)}}
.nxt-chip .ly{animation:nxtLy 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * .15s)}
@keyframes nxtLy{50%{translate:0 calc(var(--i) * 1.2px - 1.6px)}}
.nxt-chip .mg{animation:nxtMg 3.4s ease-in-out infinite}
@keyframes nxtMg{0%,100%{translate:0 0}30%{translate:-1.6px 1px}65%{translate:1.4px -1px}}
.nxt-chip .ry{stroke-dasharray:4;animation:nxtRy 1.8s ease-in-out infinite}
@keyframes nxtRy{0%,100%{stroke-dashoffset:4;opacity:.3}50%{stroke-dashoffset:0;opacity:1}}
.nxt-chip .sp{transform-origin:12px 12px;fill:currentColor;animation:nxtSp 1.8s ease-in-out infinite}
@keyframes nxtSp{50%{transform:rotate(45deg) scale(1.25)}}
.nxt-chip .fl{stroke-dasharray:9 40;animation:nxtFl 2.2s linear infinite}
@keyframes nxtFl{to{stroke-dashoffset:-49}}
.nxt-chip .sh{animation:nxtSh 2.6s ease-in-out infinite}
@keyframes nxtSh{50%{filter:drop-shadow(0 0 3px var(--ic))}}
.nx-js .nxt .nxt-chip{opacity:0;scale:.4;rotate:-25deg}
.nx-js .nxt.is-in .nxt-chip{animation:nxtChipIn .9s cubic-bezier(.3,1.6,.5,1) forwards,nxtShine 4.2s ease-in-out infinite,nxtBob 3.6s ease-in-out infinite;animation-delay:calc(var(--d,0s) + .2s),calc(var(--k,0) * .35s + 1.2s),calc(var(--k,0) * -.3s)}
@keyframes nxtChipIn{to{opacity:1;scale:1;rotate:0deg}}
.nxt-card h3{position:relative;z-index:2;margin-top:clamp(10px,.9vw,16px);font-size:clamp(16.5px,1.24vw,20px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--t-ink)}
.nxt-card p{position:relative;z-index:2;margin-top:clamp(6px,.6vw,10px);max-width:64%;font-size:clamp(13px,.92vw,14.5px);line-height:1.36;color:var(--t-txt)}
.nxt-go{position:relative;z-index:2;margin-top:auto;align-self:flex-start;width:clamp(32px,2.4vw,38px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid #C9D9EF;background:rgba(255,255,255,.8);color:var(--t-ink);overflow:hidden;transition:background .35s,border-color .35s,color .35s,transform .35s var(--nx-ease)}
.nxt-card p{margin-bottom:12px}
.nxt-go svg{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nxt-go::after{content:"";position:absolute;inset:0;border-radius:50%}
.nxt-card:hover .nxt-go,.nxt-go:focus-visible{background:linear-gradient(145deg,#3C8BF7,#1550C7);border-color:transparent;color:#fff;transform:scale(1.08)}
.nxt-card:hover .nxt-go svg{animation:nxtArrow .7s var(--nx-ease)}
@keyframes nxtArrow{0%{transform:none}45%{transform:translateX(140%)}46%{transform:translateX(-140%)}100%{transform:none}}
.nxt-go:focus-visible{outline:2px solid var(--t-blue);outline-offset:3px}

/* Illustration */
.nxt-art.sm{scale:.8;transform-origin:100% 0}
.nxt-art{position:absolute;z-index:1;right:clamp(4px,.6vw,12px);top:clamp(4px,.5vw,10px);width:clamp(124px,10.4vw,172px);aspect-ratio:160/150;perspective:600px;pointer-events:none}
.nxt-svg{width:100%;height:100%;overflow:visible;display:block;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .6s var(--nx-ease)}
.nxt-svg>*{animation:nxtFloat 6s ease-in-out infinite;animation-delay:calc(var(--n,0) * -.7s)}
.nxt-svg>[fill^="url(#nxtSh"],.nxt-svg>ellipse{animation-name:nxtShadow}
@keyframes nxtFloat{50%{translate:0 -4px}}
@keyframes nxtShadow{50%{opacity:.13}}
.nxt-svg .nxt-fl{animation:nxtFloat2 4.2s ease-in-out infinite}
.nxt-svg .nxt-fl2{animation:nxtFloat2 5s ease-in-out infinite -1.2s}
@keyframes nxtFloat2{50%{translate:0 -6px}}
.nxt-svg .nxt-lay{animation:nxtLay 4.6s ease-in-out infinite;animation-delay:calc(var(--i) * .18s)}
@keyframes nxtLay{50%{translate:0 calc(var(--i) * -2.6px)}}
.nxt-svg .nxt-bar{transform-box:fill-box;transform-origin:50% 100%;animation:nxtBar 4s ease-in-out infinite;animation-delay:calc(var(--i) * .14s)}
@keyframes nxtBar{0%,100%{scale:1 1}50%{scale:1 .82}}
.nxt-svg .b{transform-box:fill-box;transform-origin:50% 100%;animation:nxtBar 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * .2s)}
.nxt-svg .ln{stroke-dasharray:120;stroke-dashoffset:0;animation:nxtLine 5s ease-in-out infinite}
@keyframes nxtLine{0%{stroke-dashoffset:120}40%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:-120}}
.nxt-svg .nxt-check .halo{transform-box:fill-box;transform-origin:center;animation:nxtHalo 2.6s ease-out infinite}
@keyframes nxtHalo{0%{scale:.7;opacity:.5}100%{scale:1.5;opacity:0}}
.nxt-svg .nxt-check .tick{stroke-dasharray:30;animation:nxtTick 4s ease-in-out infinite}
@keyframes nxtTick{0%,10%{stroke-dashoffset:30}30%,100%{stroke-dashoffset:0}}
.nxt-svg .nxt-cloud{animation:nxtCloud 7s ease-in-out infinite}
@keyframes nxtCloud{50%{translate:5px -2px}}
.nxt-svg .nxt-flake{animation:nxRot 16s linear infinite}
.nxt-svg .nxt-stars{animation:nxRot 30s linear infinite}
.nxt-svg .nxt-db .dbl{animation:nxtDb 3s ease-in-out infinite}
.nxt-svg .nxt-db .dbl:nth-child(2){animation-delay:.25s}.nxt-svg .nxt-db .dbl:nth-child(3){animation-delay:.5s}
@keyframes nxtDb{50%{filter:brightness(1.18)}}
.nxt-svg .nxt-beam{animation:nxtBeam 3.4s ease-in-out infinite}
@keyframes nxtBeam{50%{opacity:.25}}
.nxt-svg .nxt-core{transform-box:fill-box;transform-origin:center;animation:nxtCore 2.6s ease-in-out infinite}
@keyframes nxtCore{50%{scale:1.25;opacity:.6}}
.nxt-svg .nxt-chip{animation:nxtChip 2.6s ease-in-out infinite}
@keyframes nxtChip{50%{opacity:.55}}
.nxt-svg .tr{stroke-dasharray:4 60;animation:nxtTrace 2.8s linear infinite;animation-delay:calc(var(--i) * -.37s)}
@keyframes nxtTrace{from{stroke-dashoffset:64}to{stroke-dashoffset:0}}
.nxt-svg .nd{animation:nxtChip 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * -.28s)}
.nxt-svg .led{animation:nxtLed 1.8s steps(2,end) infinite;animation-delay:calc(var(--k) * -.35s)}
@keyframes nxtLed{50%{opacity:.25}}

.nxt-svg .nxt-spk{transform-box:fill-box;transform-origin:center;opacity:0;animation:nxtSpk 3.6s ease-out infinite;animation-delay:calc(var(--i) * .72s + var(--s) * .2s)}
@keyframes nxtSpk{0%{opacity:0;translate:0 6px;scale:.3}25%{opacity:1;scale:1}100%{opacity:0;translate:0 -22px;scale:.5}}
.nxt-card:hover .nxt-svg .nxt-spk{animation-duration:1.8s}

/* Bandeau de réassurance */
.nxt-proof{margin-top:clamp(14px,1.3vw,24px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;padding:clamp(12px,1.1vw,18px) clamp(18px,2.6vw,48px);
  border-radius:clamp(22px,2.2vw,40px);background:linear-gradient(180deg,rgba(241,246,253,.95),rgba(234,241,251,.9));border:1px solid var(--t-line);box-shadow:0 18px 40px -36px rgba(16,58,130,.4)}
.nxt-proof li{list-style:none;display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.1vw,18px);padding:4px clamp(8px,1.2vw,22px);position:relative}
.nxt-proof li+li::before{content:"";position:absolute;left:0;top:8%;bottom:8%;width:1px;background:#CBD8EA}
.nxt-proof .ic{flex-shrink:0;width:clamp(30px,2.4vw,38px);height:clamp(30px,2.4vw,38px);color:var(--t-blue)}
.nxt-proof .ic svg{width:100%;height:100%;overflow:visible}
.nxt-proof b{display:block;font-size:clamp(13px,1vw,15.5px);font-weight:700;color:var(--t-ink);letter-spacing:-.01em}
.nxt-proof span{display:block;margin-top:3px;font-size:clamp(12px,.9vw,14px);color:var(--t-txt)}
.nxt-proof .spin{transform-origin:12px 12px;animation:nxRot 10s linear infinite}
.nxt-proof .rocket{animation:nxtRocket 2.4s ease-in-out infinite}
@keyframes nxtRocket{50%{translate:2px -2px}}
.nxt-proof .shield .tk{stroke-dasharray:14;animation:nxtTick 4s ease-in-out infinite}
.nxt-proof .team .p2{animation:nxtFloat 3s ease-in-out infinite}
.nxt-proof .ic{position:relative;transition:transform .5s var(--nx-ease)}
.nxt-proof .ic::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(30,111,232,.18),transparent 70%);animation:nxtHaloP 3s ease-in-out infinite}
.nxt-proof li:nth-child(2) .ic::after{animation-delay:-.75s}.nxt-proof li:nth-child(3) .ic::after{animation-delay:-1.5s}.nxt-proof li:nth-child(4) .ic::after{animation-delay:-2.25s}
@keyframes nxtHaloP{50%{scale:1.3;opacity:.4}}
.nxt-proof li:hover .ic{transform:scale(1.15) rotate(-6deg)}
.nxt-proof .shield svg{animation:nxtSh2 3s ease-in-out infinite}
@keyframes nxtSh2{0%,70%,100%{rotate:0deg}80%{rotate:-8deg}90%{rotate:6deg}}
.nxt-proof .rocket~path{stroke-dasharray:3 3;animation:nxtTrail .6s linear infinite}
@keyframes nxtTrail{to{stroke-dashoffset:-6}}

/* Entrées */
.nx-js .nxt [data-in]{opacity:0;translate:0 24px}
.nx-js .nxt.is-in [data-in]{animation:nxtUp 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d,0s)}
@keyframes nxtUp{to{opacity:1;translate:0 0}}
.nx-js .nxt .nxt-eyebrow::after{scale:0 1}
.nx-js .nxt.is-in .nxt-eyebrow::after{animation:nxtBarIn .9s .35s cubic-bezier(.16,1,.3,1) forwards}
@keyframes nxtBarIn{to{scale:1 1}}
.nx-js .nxt .nxt-title .w>span{transform:translateY(110%)}
.nx-js .nxt.is-in .nxt-title .w>span{animation:nxtRise 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i) * 90ms + .1s)}
@keyframes nxtRise{to{transform:none}}
.nx-js .nxt .nxt-card[data-in]{translate:0 36px;scale:.97}
.nx-js .nxt.is-in .nxt-card[data-in]{animation-name:nxtCard}
@keyframes nxtCard{to{opacity:1;translate:0 0;scale:1}}
.nx-js .nxt .nxt-art{opacity:0;translate:10px 6px}
.nx-js .nxt .nxt-art>svg{scale:.82}
.nx-js .nxt.is-in .nxt-art>svg{animation:nxtArtS 1.1s cubic-bezier(.3,1.35,.5,1) forwards;animation-delay:calc(var(--d,0s) + .25s)}
@keyframes nxtArtS{to{scale:1}}
.nx-js .nxt.is-in .nxt-art{animation:nxtArt 1.1s cubic-bezier(.3,1.35,.5,1) forwards;animation-delay:calc(var(--d,0s) + .25s)}
@keyframes nxtArt{to{opacity:1;translate:0 0}}
.nxt.is-paused *,.nxt.is-paused *::before,.nxt.is-paused *::after{animation-play-state:paused!important}

/* Responsive */
@media (max-width:1180px){.nxt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nxt-art{width:clamp(110px,12vw,150px)}}
@media (max-width:900px){.nxt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nxt-art{width:clamp(110px,17vw,150px)}.nxt-proof{grid-template-columns:1fr 1fr;row-gap:14px}.nxt-proof li:nth-child(3)::before{display:none}.nxt-proof li{justify-content:flex-start}}
@media (max-width:600px){.nxt-grid{grid-template-columns:1fr}.nxt-card{min-height:190px}.nxt-art{width:132px}.nxt-card p{max-width:60%}.nxt-proof{grid-template-columns:1fr;padding:16px 20px}.nxt-proof li::before{display:none}.nxt-proof li+li{border-top:1px solid #D7E2F1;padding-top:12px}}
@media (prefers-reduced-motion:reduce){
  .nxt *,.nxt *::before,.nxt *::after{animation:none!important;transition:none!important}
  .nx-js .nxt [data-in],.nx-js .nxt .nxt-art,.nx-js .nxt .nxt-art>svg{opacity:1!important;translate:none!important;scale:1!important}
  .nxt-art.sm{scale:.8!important}
  .nx-js .nxt .nxt-title .w>span{transform:none!important}
  .nx-js .nxt .nxt-eyebrow::after{scale:1 1!important}
  .nx-js .nxt .nxt-chip{opacity:1!important;scale:1!important;rotate:0deg!important}
  .nxt-svg .nxt-spk{display:none}
}
@media (max-width:600px){.nxt-bg svg{opacity:.5;height:200px}}

@media (max-width:760px){.nxt-br{display:none}}
.nxt-mbr{display:none}@media (max-width:600px){.nxt-mbr{display:block}}
