/* =====================================================================
   Ï-NAYA — PAGE NOS OFFRES (inclut socle, logo et footer clair)
   ===================================================================== */

/* =====================================================================
   Ï-NAYA — CTA FINAL + FOOTER · v3 (double torsade, versions foncée et claire)
   ===================================================================== */

/* ---------- 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)}


/* ---------- Logo animé (identique au header) ---------- */
.nx-logo{overflow:visible;display:block}
/* Logo — animation d'entrée */
.nx-logo .nx-l{transform-box:fill-box;transform-origin:50% 100%}
.nx-js .nx-logo .nx-l{opacity:0;transform:translateY(55%)}
.nx-js .nx-logo.is-on .nx-l{animation:nxLetter .8s var(--nx-ease-out) forwards;animation-delay:calc(var(--i) * 70ms + 80ms)}
@keyframes nxLetter{to{opacity:1;transform:none}}
.nx-logo .nx-dot{transform-box:fill-box;transform-origin:50% 100%}
.nx-js .nx-logo .nx-dot{opacity:0;transform:translateY(-260%)}
.nx-js .nx-logo.is-on .nx-dot{animation:nxDrop .9s cubic-bezier(.3,1.4,.5,1) forwards;animation-delay:calc(var(--i) * 110ms + 640ms)}
@keyframes nxDrop{0%{opacity:0;transform:translateY(-260%)}40%{opacity:1}70%{transform:translateY(12%) scaleY(.86)}100%{opacity:1;transform:none}}
.nx-js .nx-logo .nx-wave{clip-path:inset(0 100% 0 0)}
.nx-js .nx-logo.is-on .nx-wave{animation:nxWipe 1.15s .42s var(--nx-ease-out) forwards}
@keyframes nxWipe{to{clip-path:inset(0 0 0 0)}}
.nx-logo .nx-shine{mix-blend-mode:screen;opacity:.95}
.nx-brand:hover .nx-dot{animation:nxHop .6s var(--nx-ease) both!important;animation-delay:calc(var(--i) * 90ms)!important;opacity:1}
@keyframes nxHop{0%,100%{transform:none}45%{transform:translateY(-55%)}}


/* ---------- CTA FINAL + FOOTER · v2 (thèmes foncé / clair) ---------- */
/* Thème foncé (par défaut) */
.nxf{--f-bg0:#071E3D;--f-bg1:#06193A;--f-bg2:#04132B;
  --f-glow1:rgba(40,110,230,.55);--f-glow2:rgba(30,110,220,.28);--f-glow3:rgba(30,100,210,.32);--f-glow4:rgba(20,80,170,.25);
  --f-title:#FFFFFF;--f-txt:#C9D6E6;--f-dim:#8FA3BC;--f-link:#E3EBF5;--f-link-h:#FFFFFF;--f-head:#8FBCEB;--f-brand:#D7E2EF;--f-tag:#B9C9DC;
  --f-line:rgba(60,140,240,.55);--f-cyan:#22D9E6;--f-blue:#2E8BFF;
  --f-ghost-bg:rgba(6,24,52,.72);--f-ghost-tx:#FFFFFF;--f-ghost-bd:rgba(220,232,250,.55);
  --f-aurora1:rgba(46,139,255,.38);--f-aurora2:rgba(34,217,230,.26);--f-grain:.045;--f-grain-blend:overlay;
  /* lus par le moteur canvas */
  --rb-1:#2196FF;--rb-2:#0E46B8;--rb-3:#22E6F2;--rb-4:#2E8BFF;--rb-5:#0E8FB8;--rb-6:#8FF7FF;--rb-alpha:.85;--rb-blend:lighter;--pt:#BFFBFF;--net:110,180,255;--net-a:.16}
/* Thème clair */
.nxf.nxf--light{--f-bg0:#F9FBFD;--f-bg1:#F4F8FC;--f-bg2:#EEF4FA;
  --f-glow1:rgba(120,180,255,.35);--f-glow2:rgba(34,211,197,.14);--f-glow3:rgba(90,160,255,.2);--f-glow4:rgba(34,211,197,.12);
  --f-title:#0A2A43;--f-txt:#4A5D73;--f-dim:#6E8196;--f-link:#2E4357;--f-link-h:#0A2A43;--f-head:#0E8FA6;--f-brand:#3F5469;--f-tag:#5E7186;
  --f-line:rgba(30,111,232,.28);--f-cyan:#12BFB1;--f-blue:#1E6FE8;
  --f-ghost-bg:rgba(255,255,255,.7);--f-ghost-tx:#0A2A43;--f-ghost-bd:rgba(10,42,67,.22);
  --f-aurora1:rgba(46,139,255,.16);--f-aurora2:rgba(34,211,197,.16);--f-grain:.035;--f-grain-blend:multiply;
  --rb-1:#4A9EFF;--rb-2:#8DBBFF;--rb-3:#14C2B4;--rb-4:#1E6FE8;--rb-5:#5FD8CF;--rb-6:#0FA597;--rb-alpha:.6;--rb-blend:source-over;--pt:#1E9BE8;--net:30,111,232;--net-a:.12}

.nxf{position:relative;isolation:isolate;overflow:hidden;color:var(--f-title);background:
  radial-gradient(ellipse 45% 32% at 50% 0%,var(--f-glow1),transparent 70%),
  radial-gradient(ellipse 30% 40% at 28% 48%,var(--f-glow2),transparent 70%),
  radial-gradient(ellipse 30% 35% at 100% 82%,var(--f-glow3),transparent 70%),
  radial-gradient(ellipse 40% 30% at 0% 100%,var(--f-glow4),transparent 70%),
  linear-gradient(180deg,var(--f-bg0) 0%,var(--f-bg1) 45%,var(--f-bg2) 100%)}
.nxf a{color:inherit;text-decoration:none}
.nxf-canvas{position:absolute;top:0;left:0;width:100%;height:520px;z-index:0;pointer-events:none;display:block}
.nxf-grain{position:absolute;inset:-60px;z-index:0;pointer-events:none;opacity:var(--f-grain);
  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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== CTA ===== */
.nxf-cta{position:relative;z-index:1;min-height:clamp(420px,31vw,520px);display:grid;place-items:center;padding:clamp(60px,6vw,100px) 0 clamp(60px,5vw,84px)}
.nxf-aurora{position:absolute;left:50%;top:44%;width:min(70vw,1000px);height:min(30vw,380px);translate:-50% -50%;pointer-events:none;z-index:-1}
.nxf-aurora::before,.nxf-aurora::after{content:"";position:absolute;inset:-20%;border-radius:50%;will-change:transform}
.nxf-aurora::before{background:radial-gradient(closest-side,var(--f-aurora1),rgba(0,0,0,0) 100%);animation:nxfAur1 14s ease-in-out infinite alternate}
.nxf-aurora::after{background:radial-gradient(closest-side,var(--f-aurora2),rgba(0,0,0,0) 100%);animation:nxfAur2 18s ease-in-out infinite alternate}
@keyframes nxfAur1{0%{transform:translate(-18%,4%) scale(.8)}100%{transform:translate(16%,-6%) scale(1.1)}}
@keyframes nxfAur2{0%{transform:translate(20%,8%) scale(1)}100%{transform:translate(-14%,-4%) scale(.75)}}
.nxf-cta__in{text-align:center;max-width:1240px;padding:0 clamp(16px,4vw,32px)}
.nxf-title{font-size:clamp(32px,3.5vw,60px);line-height:1.12;font-weight:800;letter-spacing:-.035em;color:var(--f-title)}
.nxf-title .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.nxf-title .ln>span{display:inline-block}
.nxf-title em{font-style:normal;color:transparent;background:linear-gradient(95deg,#1FE3E3,#22CFF0 30%,#2E8BFF 55%,#1FE3E3 80%,#22CFF0);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:nxfText 5s linear infinite}
.nxf--light .nxf-title em{background-image:linear-gradient(95deg,#12BFB1,#14B3D6 30%,#1E6FE8 55%,#12BFB1 80%,#14B3D6)}
@keyframes nxfText{to{background-position:-250% 0}}
.nxf-lead{margin:clamp(14px,1.4vw,22px) auto 0;max-width:880px;text-wrap:balance;font-size:clamp(15.5px,1.27vw,21px);line-height:1.5;color:var(--f-txt)}
.nxf-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,1.4vw,24px);margin-top:clamp(26px,2.3vw,38px)}
.nxf-btn{--mx:0px;--my:0px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;height:clamp(52px,3.75vw,64px);padding:0 clamp(26px,2.3vw,40px);border-radius:999px;
  font-size:clamp(15px,1.05vw,17px);font-weight:700;letter-spacing:-.01em;isolation:isolate;transform:translate(var(--mx),var(--my));transition:transform .35s var(--nx-ease),box-shadow .4s}
/* primaire : halo rotatif + reflet */
.nxf .nxf-btn--p{color:#062344;background:linear-gradient(95deg,#18E3E0 0%,#1FCBEF 45%,#2E8BFF 100%);box-shadow:0 14px 40px -12px rgba(34,217,230,.6),inset 0 1px 0 rgba(255,255,255,.5)}
.nxf-btn--p::before{content:"";position:absolute;inset:-3px;z-index:-2;border-radius:inherit;background:conic-gradient(from var(--nx-angle),transparent 0 62%,#9FFBFF 74%,#2E8BFF 86%,transparent 96%);animation:nxSpin 3.2s linear infinite}
.nxf-btn--p .sh{position:absolute;inset:0;z-index:-1;border-radius:inherit;overflow:hidden;background:linear-gradient(95deg,#18E3E0 0%,#1FCBEF 45%,#2E8BFF 100%)}
.nxf-btn--p .sh::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 48%,transparent 66%);transform:translateX(-120%);animation:nxfShine 3.6s ease-in-out infinite 1.6s}
@keyframes nxfShine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.nxf-btn--p:hover{box-shadow:0 22px 54px -12px rgba(34,217,230,.85),inset 0 1px 0 rgba(255,255,255,.5)}
.nxf-btn--p svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;animation:nxfNudge 2.4s ease-in-out infinite}
@keyframes nxfNudge{0%,60%,100%{transform:none}75%{transform:translateX(5px)}}
/* secondaire : bordure dégradée tournante */
.nxf .nxf-btn--g{color:var(--f-ghost-tx);border:1.5px solid transparent;
  background:linear-gradient(var(--f-ghost-bg),var(--f-ghost-bg)) padding-box,conic-gradient(from var(--nx-angle),var(--f-ghost-bd) 0 55%,var(--f-cyan) 70%,var(--f-blue) 82%,var(--f-ghost-bd) 95%) border-box;
  animation:nxSpin 6s linear infinite}
.nxf--light .nxf-btn--g{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--nx-angle),var(--f-ghost-bd) 0 55%,var(--f-cyan) 70%,var(--f-blue) 82%,var(--f-ghost-bd) 95%) border-box;box-shadow:0 10px 26px -18px rgba(10,42,67,.4)}
.nxf-btn--g::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(120px circle at var(--bx,50%) var(--by,50%),rgba(34,217,230,.25),transparent 70%);opacity:0;transition:opacity .35s}
.nxf-btn--g:hover::after{opacity:1}
.nxf-btn:focus-visible{outline:2px solid var(--f-cyan);outline-offset:4px}
.nxf-reassure{margin-top:clamp(18px,1.6vw,26px);font-size:clamp(13px,.92vw,15px);color:var(--f-dim)}
.nxf-reassure i{font-style:normal;margin:0 .45em;color:var(--f-cyan)}

/* ===== Footer ===== */
.nxf-foot{position:relative;z-index:1;width:min(1520px,calc(100% - 2 * clamp(16px,5vw,90px)));margin-inline:auto}
.nxf-sep{position:relative;height:1px;background:linear-gradient(90deg,transparent,var(--f-line) 15%,var(--f-line) 85%,transparent);overflow:visible}
.nxf-sep::after{content:"";position:absolute;top:-1px;left:0;width:160px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--f-cyan),transparent);filter:blur(.5px);animation:nxfSweep 6s cubic-bezier(.6,0,.4,1) infinite}
@keyframes nxfSweep{0%{left:-160px;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
.nxf-grid{display:grid;grid-template-columns:minmax(0,1.85fr) repeat(4,minmax(0,auto));justify-content:space-between;gap:clamp(24px,3vw,64px);padding:clamp(44px,3.8vw,66px) clamp(0px,2vw,36px) clamp(36px,3.2vw,56px)}
.nxf-brand .nx-logo{width:clamp(200px,17.5vw,295px);height:auto}
.nxf-brand p{margin-top:clamp(14px,1.2vw,20px);max-width:470px;font-size:clamp(14.5px,1.1vw,18px);line-height:1.55;color:var(--f-brand)}
.nxf-brand .tag{margin-top:clamp(16px,1.5vw,26px);font-size:clamp(12.5px,.92vw,15px);letter-spacing:.12em;color:var(--f-tag)}
.nxf-brand .tag i{font-style:normal;margin:0 .5em;color:var(--f-cyan)}
.nxf-brand .tag b{font-weight:inherit;display:inline-block;animation:nxfWord 7.5s ease-in-out infinite;animation-delay:calc(var(--k) * 2.5s)}
@keyframes nxfWord{0%,26%,100%{color:inherit}8%,18%{color:var(--f-cyan)}}
.nxf-col h4{font-size:clamp(12px,.86vw,14px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--f-head)}
.nxf-col h4::after{content:"";display:block;width:28px;height:3px;border-radius:3px;margin-top:12px;background:linear-gradient(90deg,var(--f-cyan),#2EB5FF,var(--f-cyan));background-size:200% 100%;transform-origin:left;animation:nxfBarFlow 3s linear infinite}
@keyframes nxfBarFlow{to{background-position:-200% 0}}
.nxf-col ul{list-style:none;margin:clamp(18px,1.6vw,26px) 0 0;padding:0;display:grid;gap:clamp(12px,1.05vw,17px)}
.nxf-col a{position:relative;display:inline-block;font-size:clamp(14px,1vw,16.5px);color:var(--f-link);transition:color .3s,transform .35s var(--nx-ease)}
.nxf-col a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1.5px;border-radius:2px;background:linear-gradient(90deg,var(--f-cyan),var(--f-blue));transform:scaleX(0);transform-origin:right;transition:transform .45s var(--nx-ease)}
.nxf-col a:hover,.nxf-col a:focus-visible{color:var(--f-link-h);transform:translateX(6px)}
.nxf-col a:hover::after,.nxf-col a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.nxf-col a:focus-visible{outline:none}
.nxf-bottom{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:clamp(24px,2.2vw,38px) 0 clamp(26px,2.4vw,40px)}
.nxf-bottom::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--f-line),var(--f-line) 70%,transparent)}
/* « Deux moteurs » : deux traînées de lumière (cyan et bleu) qui parcourent la ligne */
.nxf-bottom .runner{position:absolute;top:-1px;left:0;width:90px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#7FF6FF);animation:nxfRun 7s cubic-bezier(.65,0,.35,1) infinite}
.nxf-bottom .runner.b{width:60px;background:linear-gradient(90deg,transparent,#8FC2FF);animation-duration:7s;animation-delay:-3.1s;animation-timing-function:cubic-bezier(.45,0,.55,1)}
.nxf--light .nxf-bottom .runner{background:linear-gradient(90deg,transparent,#12BFB1)}
.nxf--light .nxf-bottom .runner.b{background:linear-gradient(90deg,transparent,#1E6FE8)}
@keyframes nxfRun{0%{left:-90px;opacity:0}8%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
.nxf-bottom p{font-size:clamp(12.5px,.92vw,15px);color:var(--f-dim)}
.nxf-bottom .sig{display:inline-flex;align-items:center;gap:16px;color:var(--f-tag)}
.nxf-bottom .sig::after{content:"";width:50px;height:1.5px;background:linear-gradient(90deg,var(--f-blue),var(--f-cyan));transform-origin:left;animation:nxfSig 3.6s ease-in-out infinite}
@keyframes nxfSig{50%{transform:scaleX(.45)}}

/* Logo vivant : après l'entrée, le tréma rebondit en boucle */
.nxf .nx-logo.is-live .nx-dot{opacity:1;transform:none;animation:nxfDotLoop 6s ease-in-out infinite!important;animation-delay:calc(var(--i) * 140ms)!important}
@keyframes nxfDotLoop{0%,78%,100%{transform:none}84%{transform:translateY(-70%)}90%{transform:translateY(8%) scaleY(.9)}95%{transform:none}}

/* ===== Entrées ===== */
.nx-js .nxf [data-in]{opacity:0;translate:0 24px}
.nx-js .nxf.is-in [data-in]{animation:nxfUp 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d,0s)}
@keyframes nxfUp{to{opacity:1;translate:0 0}}
.nx-js .nxf .nxf-title .ln>span{transform:translateY(110%)}
.nx-js .nxf.is-in .nxf-title .ln>span{animation:nxfRise 1.1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i) * 160ms + .15s)}
@keyframes nxfRise{to{transform:none}}
.nx-js .nxf .nxf-sep{scale:0 1}
.nx-js .nxf.is-in .nxf-sep{animation:nxfSep 1.6s cubic-bezier(.7,0,.2,1) forwards .6s}
@keyframes nxfSep{to{scale:1 1}}
.nx-js .nxf .nxf-col li{opacity:0;translate:-10px 0}
.nx-js .nxf.is-in .nxf-col li{animation:nxfLi .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--d) + .35s + var(--j) * 80ms)}
@keyframes nxfLi{to{opacity:1;translate:0 0}}
.nxf.is-paused *,.nxf.is-paused *::before,.nxf.is-paused *::after{animation-play-state:paused!important}

/* ===== Responsive ===== */
@media (max-width:1180px){.nxf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.nxf-brand{grid-column:1/-1;margin-bottom:8px}}
@media (max-width:760px){.nxf-br{display:none}}
@media (max-width:680px){.nxf-grid{grid-template-columns:1fr 1fr;row-gap:34px}.nxf-actions{flex-direction:column;align-items:stretch}.nxf-btn{width:100%}.nxf-bottom{flex-direction:column;align-items:flex-start}.nxf-cta{min-height:0;padding-bottom:110px}}
@media (prefers-reduced-motion:reduce){
  .nxf *,.nxf *::before,.nxf *::after{animation:none!important;transition:none!important}
  .nx-js .nxf [data-in],.nx-js .nxf .nxf-col li{opacity:1!important;translate:none!important}
  .nx-js .nxf .nxf-title .ln>span{transform:none!important}
  .nx-js .nxf .nxf-sep{scale:1 1!important}
  .nxf-bottom .runner,.nxf-sep::after{display:none}
}

/* ---------- PAGE « NOS OFFRES » (liste + fiche mission) ---------- */
.nxo{--c-ink:#0A2A43;--c-txt:#4A5D73;--c-dim:#7A8CA0;--c-blue:#1E63E9;--c-cyan:#22D3E6;--c-line:#E3EAF2;--c-err:#D9364F;--c-ok:#0FA597;--c-field:#FBFCFE;
  --serif:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;
  position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#F2F7FD 0%,#F7FAFE 40%,#FFFFFF 100%)}
.nxo :where(a){color:inherit;text-decoration:none}
.nxo-shell{width:min(1400px,calc(100% - 2 * clamp(16px,4vw,64px)));margin-inline:auto;position:relative;z-index:2}
.nxo-grain{position:absolute;inset:-60px;z-index:1;pointer-events:none;opacity:.03;
  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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.nxo [hidden]{display:none!important}

/* ===== HERO ===== */
.nxo-hero{position:relative;padding:clamp(34px,3.4vw,54px) 0 clamp(26px,2.6vw,40px)}
.nxo-photo{position:absolute;top:0;right:0;width:min(48vw,780px);height:clamp(300px,30vw,460px);overflow:hidden;z-index:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%),linear-gradient(180deg,#000 50%,transparent 96%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 32%),linear-gradient(180deg,#000 50%,transparent 96%);mask-composite:intersect}
.nxo-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.05);animation:nxoKen 28s ease-in-out infinite alternate;will-change:transform}
@keyframes nxoKen{to{transform:scale(1.12) translate(-1.2%,.8%)}}
.nxo-photo::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 40% 30% at 60% 70%,rgba(255,226,180,.35),transparent 70%);animation:nxoSun 7s ease-in-out infinite alternate}
@keyframes nxoSun{to{opacity:.4;transform:translateX(4%)}}
.nxo-glass{position:absolute;right:clamp(16px,2.6vw,44px);top:clamp(70px,7vw,110px);z-index:3;padding:clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px);border-radius:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(220,235,252,.35));border:1px solid rgba(255,255,255,.8);box-shadow:0 30px 60px -36px rgba(10,42,67,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nxo-glass p{position:relative;padding-left:14px;font-size:clamp(8.5px,.62vw,10.5px);font-weight:700;letter-spacing:.24em;line-height:2.25;color:#2E4357}
.nxo-glass p::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--c-blue),var(--c-cyan))}
.nxo-glass p::after{content:"";display:block;width:24px;height:2px;margin-top:6px;background:var(--c-blue);animation:nxoBar 3.6s ease-in-out infinite;transform-origin:left}
.nxo-glass b{font-weight:inherit;animation:nxoWord 10s ease-in-out infinite;animation-delay:calc(var(--k) * 2.5s)}
@keyframes nxoWord{0%,20%,100%{color:inherit}6%,14%{color:var(--c-blue)}}
@keyframes nxoBar{50%{transform:scaleX(.4)}}
.nxo-hero__txt{position:relative;max-width:720px}
.nxo-eyebrow{font-size:clamp(11px,.82vw,13px);font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--c-ink)}
.nxo-eyebrow::after{content:"";display:block;width:36px;height:3px;border-radius:3px;margin-top:10px;background:linear-gradient(90deg,var(--c-blue),var(--c-cyan))}
.nxo-title{margin:clamp(12px,1.2vw,18px) 0 0;font-family:var(--serif);font-weight:600;font-size:clamp(34px,4.2vw,66px);line-height:1;letter-spacing:-.03em;color:var(--c-ink)}
.nxo-title .ln{display:block;overflow:hidden;padding:.14em 0 .1em;margin:-.14em 0 -.1em}
.nxo-title .ln>span{display:inline-block}
.nxo-title em{font-style:normal;display:inline-block;padding-top:.16em;margin-top:-.16em;color:transparent;background:linear-gradient(95deg,#1E63E9,#2B8CFF 40%,#22B8E6 60%,#1E63E9 85%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:nxoText 7s linear infinite}
@keyframes nxoText{to{background-position:-240% 0}}
[data-v="detail"] .nxo-title{font-size:clamp(30px,3.3vw,52px)}
.nxo-hero__txt:has([data-v="detail"]:not([hidden])){max-width:820px}
.nxo-lead{margin-top:clamp(12px,1.2vw,18px);max-width:620px;font-size:clamp(14.5px,1.12vw,17.5px);line-height:1.55;color:var(--c-txt)}
.nxo-back{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--c-blue)}
.nxo-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--nx-ease)}
.nxo-back:hover svg{transform:translateX(-4px)}

/* ===== LISTE ===== */
.nxo-search{display:flex;align-items:center;gap:12px;margin-top:clamp(22px,2.2vw,32px);padding:8px 8px 8px clamp(16px,1.6vw,24px);border-radius:18px;background:#fff;border:1.5px solid #E1E9F3;box-shadow:0 24px 50px -36px rgba(16,58,130,.5);transition:border-color .3s,box-shadow .3s}
.nxo-search:focus-within{border-color:#8FB6F5;box-shadow:0 0 0 5px rgba(30,99,233,.1),0 24px 50px -36px rgba(16,58,130,.5)}
.nxo-search>svg{flex-shrink:0;width:22px;height:22px;fill:none;stroke:var(--c-blue);stroke-width:2.2;stroke-linecap:round;transition:transform .4s var(--nx-ease)}
.nxo-search:focus-within>svg{transform:rotate(-12deg) scale(1.08)}
.nxo-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:12px 4px;font:500 clamp(14.5px,1.05vw,16.5px)/1.3 var(--nx-font);color:var(--c-ink)}
.nxo-search input::placeholder{color:#93A3B5}
.nxo-search button{flex-shrink:0;display:inline-flex;align-items:center;gap:14px;height:clamp(46px,3.5vw,54px);padding:0 clamp(20px,2vw,32px);border:0;border-radius:12px;cursor:pointer;font:700 15px/1 var(--nx-font);color:#fff;background:linear-gradient(95deg,#2B9BFF,#1B4FD1);box-shadow:0 12px 24px -12px rgba(30,99,233,.8);transition:transform .3s var(--nx-ease)}
.nxo-search button:hover{transform:translateY(-1px)}
.nxo-search button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;animation:nxoNudge 2.6s ease-in-out infinite}
@keyframes nxoNudge{0%,60%,100%{transform:none}75%{transform:translateX(4px)}}
.nxo-chips{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:clamp(16px,1.6vw,24px) 0 0;padding:0;list-style:none}
.nxo-chips button{display:inline-flex;align-items:center;gap:12px;height:clamp(44px,3.3vw,50px);padding:0 clamp(18px,2vw,32px);border-radius:999px;border:1px solid #E1E9F3;background:#fff;cursor:pointer;
  font:600 clamp(13px,.95vw,15px)/1 var(--nx-font);color:#2E4357;box-shadow:0 12px 26px -20px rgba(16,58,130,.45);transition:color .3s,border-color .3s,transform .35s var(--nx-ease),background .35s,box-shadow .35s}
.nxo-chips button:hover{transform:translateY(-3px);color:var(--c-blue);border-color:#BFD3F3}
.nxo-chips button[aria-pressed="true"]{color:#fff;border-color:transparent;background:linear-gradient(95deg,#2B8CFF,#1B4FD1);box-shadow:0 16px 30px -14px rgba(30,99,233,.85)}
.nxo-chips svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nxo-tools{display:flex;align-items:center;gap:16px;margin-top:clamp(18px,1.8vw,26px)}
.nxo-tools b{font-family:var(--serif);font-size:clamp(18px,1.4vw,22px);font-weight:700;color:var(--c-ink)}
.nxo-tools b span{display:inline-block;min-width:1ch}
.nxo-tools label{display:flex;align-items:center;gap:6px;padding-left:16px;border-left:1px solid #D6E1EE;font-size:13.5px;color:var(--c-txt)}
.nxo-tools select{border:0;background:transparent;font:600 13.5px/1 var(--nx-font);color:var(--c-ink);cursor:pointer;padding:4px 2px}
.nxo-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);gap:clamp(14px,1.6vw,24px);margin-top:clamp(12px,1.2vw,18px);align-items:start}
.nxo-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(10px,1vw,14px)}
.nxo-job{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:clamp(14px,1.8vw,26px);align-items:center;padding:clamp(14px,1.4vw,20px) clamp(14px,1.6vw,24px);border-radius:16px;background:#fff;border:1px solid #EEF3F9;
  box-shadow:0 20px 40px -34px rgba(16,58,130,.45);transition:transform .45s var(--nx-ease),box-shadow .45s,border-color .45s}
.nxo-job:hover{transform:translateY(-3px);border-color:#D3E1F5;box-shadow:0 30px 56px -34px rgba(16,58,130,.55)}
.nxo-job::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--c-blue),var(--c-cyan));transform:scaleY(0);transition:transform .45s var(--nx-ease)}
.nxo-job:hover::before{transform:none}
.nxo-ico{width:clamp(52px,4.2vw,62px);aspect-ratio:1;border-radius:14px;display:grid;place-items:center;color:var(--c-blue);background:linear-gradient(160deg,#F2F7FF,#E6F0FD);transition:transform .45s var(--nx-ease)}
.nxo-job:hover .nxo-ico{transform:rotate(-6deg) scale(1.06)}
.nxo-ico svg{width:52%;height:52%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.nxo-ico.v{color:#7B3CF0;background:linear-gradient(160deg,#F6F1FF,#ECE3FF)}
.nxo-ico .bx{transform-box:fill-box;transform-origin:50% 100%;animation:nxoBx 2.4s ease-in-out infinite;animation-delay:calc(var(--i) * .2s)}
@keyframes nxoBx{50%{scale:1 .55}}
.nxo-ico .g{transform-origin:12px 12px;animation:nxRot 9s linear infinite}
.nxo-ico .eye{animation:nxoBlink 4s steps(1) infinite}
@keyframes nxoBlink{0%,92%{opacity:1}94%,97%{opacity:0}}
.nxo-ico .chip-p{animation:nxoChip 2.4s ease-in-out infinite}
@keyframes nxoChip{50%{opacity:.4}}
.nxo-job h3{font-family:var(--serif);font-weight:600;font-size:clamp(17px,1.35vw,21px);line-height:1.25;color:var(--c-ink)}
.nxo-job h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.nxo-job p.d{margin-top:4px;font-size:clamp(13px,.95vw,14.5px);color:var(--c-txt)}
.nxo-tags{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:10px;font-size:12.5px;color:#2E4357}
.nxo-tags span{display:inline-flex;align-items:center;gap:8px}
.nxo-tags svg{width:16px;height:16px;fill:none;stroke:var(--c-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nxo-job__side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.nxo-date{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--c-txt);white-space:nowrap}
.nxo-date svg{width:16px;height:16px;fill:none;stroke:var(--c-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nxo-see{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;border-radius:10px;border:1.5px solid #3A78E8;font-size:13px;font-weight:700;color:#1B4FD1;background:#fff;transition:background .35s,color .35s,border-color .35s}
.nxo-see svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--nx-ease)}
.nxo-job:hover .nxo-see{background:linear-gradient(95deg,#2B9BFF,#1B4FD1);color:#fff;border-color:transparent}
.nxo-job:hover .nxo-see svg{transform:translateX(4px)}
.nxo-new{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;font:800 10px/1.3 var(--nx-font);letter-spacing:.12em;text-transform:uppercase;color:#0E8A7E;background:#DDF6F2;vertical-align:4px}
.nxo-list.is-swap .nxo-job:not([hidden]){animation:nxoIn2 .55s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--j,0) * 55ms)}
@keyframes nxoIn2{from{opacity:0;translate:0 14px}}
.nxo-none{display:none;padding:40px 20px;text-align:center;border-radius:16px;background:#fff;border:1px dashed #C9D8EC;color:var(--c-txt)}
.nxo-list-wrap.is-empty .nxo-none{display:block}
.nxo-none b{display:block;font-family:var(--serif);font-size:22px;color:var(--c-ink)}
.nxo-none button{margin-top:10px;border:0;background:none;cursor:pointer;font:700 14px/1 var(--nx-font);color:var(--c-blue);text-decoration:underline;text-underline-offset:3px}
/* colonne de droite (liste) */
.nxo-aside{position:sticky;top:20px;display:grid;gap:clamp(12px,1.2vw,18px)}
.nxo-spont{padding:clamp(20px,2vw,28px);border-radius:18px;background:linear-gradient(180deg,#F5F9FF,#EEF4FD);border:1.5px dashed #BCD2F0}
.nxo-spont>svg{width:44px;height:44px;fill:none;stroke:var(--c-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.nxo-spont .plus{animation:nxoPlus 2.6s ease-in-out infinite;transform-origin:19px 7px}
@keyframes nxoPlus{0%,60%,100%{transform:none}75%{transform:rotate(90deg) scale(1.2)}}
.nxo-spont h2{margin-top:12px;font-family:var(--serif);font-weight:600;font-size:clamp(20px,1.6vw,26px);line-height:1.2;color:var(--c-ink)}
.nxo-spont p{margin-top:10px;font-size:14.5px;line-height:1.55;color:var(--c-txt)}
.nxo-cta{display:inline-flex;align-items:center;gap:12px;height:48px;margin-top:18px;padding:0 24px;border-radius:12px;font-weight:700;font-size:14.5px;color:#fff;background:linear-gradient(95deg,#2B9BFF,#1B4FD1);box-shadow:0 14px 28px -14px rgba(30,99,233,.85);transition:transform .35s var(--nx-ease)}
.nxo-cta:hover{transform:translateY(-2px)}
.nxo-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--nx-ease)}
.nxo-cta:hover svg{transform:translateX(4px)}
.nxo-info{display:flex;gap:14px;padding:clamp(18px,1.8vw,24px);border-radius:18px;background:#fff;border:1px solid #EEF3F9;box-shadow:0 20px 40px -34px rgba(16,58,130,.45)}
.nxo-info>span{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:800 15px/1 var(--serif);color:var(--c-blue);background:#EAF2FF;animation:nxoPing 2.8s ease-out infinite}
@keyframes nxoPing{0%{box-shadow:0 0 0 0 rgba(43,140,255,.45)}70%,100%{box-shadow:0 0 0 10px rgba(43,140,255,0)}}
.nxo-info b{display:block;font-family:var(--serif);font-weight:600;font-size:16px;line-height:1.3;color:var(--c-ink)}
.nxo-info p{margin-top:8px;font-size:13.5px;line-height:1.55;color:var(--c-txt)}
.nxo-info strong{color:var(--c-ink)}

/* ===== FICHE MISSION ===== */
.nxo-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:clamp(14px,1.6vw,22px);align-items:start;margin-top:clamp(10px,1vw,16px)}
.nxo-card{padding:clamp(18px,2vw,30px);border-radius:18px;background:rgba(255,255,255,.96);border:1px solid #EEF3F9;box-shadow:0 30px 60px -44px rgba(16,58,130,.45)}
.nxo-card+.nxo-card{margin-top:clamp(10px,1vw,14px)}
.nxo-pill{display:inline-block;padding:6px 12px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--c-blue);background:#EAF2FF}
.nxo-head h2{margin:12px 0 0;font-family:var(--serif);font-weight:600;font-size:clamp(28px,2.8vw,44px);line-height:1.08;letter-spacing:-.02em;color:var(--c-ink)}
.nxo-head p.s{margin-top:8px;font-size:clamp(15px,1.15vw,18px);color:var(--c-txt)}
.nxo-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:clamp(16px,1.6vw,22px)}
.nxo-facts div{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid #E6EDF5;background:#fff;transition:transform .35s var(--nx-ease),border-color .35s}
.nxo-facts div:hover{transform:translateY(-2px);border-color:#C6D7F1}
.nxo-facts svg{flex-shrink:0;width:26px;height:26px;fill:none;stroke:var(--c-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nxo-facts b{display:block;font-size:13px;color:var(--c-ink)}
.nxo-facts small{display:block;margin-top:2px;font-size:12px;color:var(--c-dim)}
.nxo-sec{display:grid;grid-template-columns:auto auto 1fr;gap:clamp(12px,1.6vw,22px);align-items:start}
.nxo-num{display:grid;place-items:center;width:44px;height:36px;border-radius:999px;background:#EEF4FC;font:700 15px/1 var(--nx-font);color:var(--c-blue)}
.nxo-sec>svg{width:28px;height:28px;margin-top:4px;fill:none;stroke:var(--c-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nxo-sec h3{font-family:var(--serif);font-weight:600;font-size:clamp(19px,1.5vw,24px);line-height:1.3;color:var(--c-ink);margin-top:2px}
.nxo-sec .c{grid-column:3;font-size:clamp(13.5px,.98vw,15px);line-height:1.65;color:var(--c-txt)}
.nxo-sec ul{margin:6px 0 0;padding-left:1.1em;display:grid;gap:4px}
.nxo-sec li::marker{color:var(--c-blue)}
.nxo-goal{grid-column:2/-1;display:flex;gap:16px;margin-top:6px;padding:16px 18px;border-radius:14px;background:linear-gradient(180deg,#F3F8FE,#EEF4FC)}
.nxo-goal svg{flex-shrink:0;width:30px;height:30px;fill:none;stroke:var(--c-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nxo-goal .tg{transform-box:fill-box;transform-origin:center;animation:nxoTg 2.6s ease-in-out infinite}
@keyframes nxoTg{50%{scale:.75}}
.nxo-goal b{display:block;font-family:var(--serif);font-weight:600;font-size:16px;color:var(--c-blue)}
.nxo-goal p{margin-top:4px;font-size:14px;line-height:1.6;color:var(--c-txt)}
.nxo-sec ul.nxo-stack{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;padding:0;list-style:none}
.nxo-stack li{padding:9px 16px;border-radius:999px;border:1px solid #DCE6F3;background:#F7FAFE;font-size:13.5px;font-weight:500;color:#2E4357;transition:transform .3s var(--nx-ease),border-color .3s,color .3s}
.nxo-stack li:hover{transform:translateY(-2px);border-color:#9FC0F2;color:var(--c-blue)}
.nxo-terms{display:grid;grid-template-columns:repeat(4,1fr)}
.nxo-terms div{padding:2px clamp(10px,1.4vw,22px)}
.nxo-terms div:first-child{padding-left:0}
.nxo-terms div+div{border-left:1px solid #DCE5EF}
.nxo-terms svg{width:20px;height:20px;fill:none;stroke:var(--c-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nxo-terms b{display:block;margin-top:8px;font-size:13.5px;color:var(--c-ink)}
.nxo-terms span{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:var(--c-txt)}
.nxo-plus{grid-column:1/-1;display:flex;gap:16px;margin-top:14px;padding:14px 18px;border-radius:14px;border:1px solid #E1EAF5;background:#F8FBFF}
.nxo-plus>svg{flex-shrink:0;width:28px;height:28px;fill:var(--c-blue);animation:nxoStar 4s ease-in-out infinite}
@keyframes nxoStar{0%,80%,100%{transform:none}90%{transform:rotate(72deg) scale(1.15)}}
.nxo-plus b{display:block;font-family:var(--serif);font-weight:600;font-size:16px;color:var(--c-blue)}
.nxo-plus ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;font-size:13px;color:var(--c-txt)}
.nxo-plus li{display:flex;gap:8px}
.nxo-plus li::before{content:"";flex-shrink:0;width:14px;height:14px;margin-top:2px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E63E9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 12.5 5 5L20 6.5'/%3E%3C/svg%3E")}
.nxo-jump{display:none}
/* colonne de droite (fiche) */
.nxo-dside{position:sticky;top:20px;display:grid;gap:clamp(10px,1vw,14px)}
.nxo-apply__h{display:flex;align-items:center;gap:16px}
.nxo-apply__h>span{flex-shrink:0;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2B8CFF,#1B4FD1);box-shadow:0 14px 26px -12px rgba(30,99,233,.85)}
.nxo-apply__h svg{width:26px;height:26px;fill:currentColor;animation:nxoPlane 3.4s ease-in-out infinite}
@keyframes nxoPlane{0%,70%,100%{transform:none}80%{transform:translate(2px,-2px) rotate(-6deg)}}
.nxo-apply__h h3{font-family:var(--serif);font-weight:600;font-size:clamp(17px,1.3vw,20px);color:var(--c-ink)}
.nxo-apply>p{margin-top:12px;font-size:13.5px;line-height:1.55;color:var(--c-txt)}
.nxo-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:14px;padding:20px 14px;border-radius:14px;border:1.5px dashed #BFD0E6;background:#F8FBFF;text-align:center;cursor:pointer;transition:border-color .3s,background .3s,transform .3s var(--nx-ease)}
.nxo-drop:hover,.nxo-drop:focus-within{border-color:#7FA8EE;background:#F2F7FF}
.nxo-drop.is-over{border-color:var(--c-blue);background:#EAF2FF;transform:scale(1.02)}
.nxo-drop.is-err{border-color:var(--c-err);background:#FFF8F9}
.nxo-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.nxo-drop svg{width:40px;height:34px;fill:none;stroke:var(--c-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nxo-drop .up{animation:nxoUp 2.4s ease-in-out infinite}
@keyframes nxoUp{0%,100%{translate:0 1.5px}50%{translate:0 -2px}}
.nxo-drop b{font-size:14px;color:var(--c-ink)}
.nxo-drop span{font-size:12px;color:var(--c-dim)}
.nxo-file{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;border-radius:12px;background:#F2F8FF;border:1px solid #D3E2F6;animation:nxoIn2 .5s cubic-bezier(.16,1,.3,1)}
.nxo-file i{flex-shrink:0;width:34px;height:40px;border-radius:7px;display:grid;place-items:center;font:800 9.5px/1 var(--nx-font);font-style:normal;color:#fff;background:linear-gradient(160deg,#2B8CFF,#1B4FD1)}
.nxo-file p{flex:1;min-width:0}
.nxo-file strong{display:block;font-size:13px;color:var(--c-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nxo-file small{font-size:11.5px;color:var(--c-dim)}
.nxo-file button{width:30px;height:30px;border:0;border-radius:8px;background:#fff;color:#5C6F84;cursor:pointer;display:grid;place-items:center;transition:color .3s,transform .3s}
.nxo-file button:hover{color:var(--c-err);transform:rotate(90deg)}
.nxo-file button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.nxo-more{display:grid;gap:10px;margin-top:14px;animation:nxoIn2 .5s cubic-bezier(.16,1,.3,1)}
.nxo-more input[type=text],.nxo-more input[type=email]{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:10px;border:1.5px solid var(--c-line);background:var(--c-field);font:500 14px/1.3 var(--nx-font);color:var(--c-ink);outline:none;transition:border-color .3s,box-shadow .3s}
.nxo-more input:focus{border-color:#8FB6F5;box-shadow:0 0 0 4px rgba(30,99,233,.1);background:#fff}
.nxo-more input.is-err{border-color:var(--c-err);background:#FFF8F9}
.nxo-more .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nxo-more label.ok{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;color:var(--c-txt);cursor:pointer}
.nxo-more label.ok input{margin-top:2px;accent-color:#1E63E9;width:16px;height:16px;flex-shrink:0}
.nxo-more label.ok.is-err{color:var(--c-err)}
.nxo-more label.ok a{color:var(--c-blue);text-decoration:underline}
.nxo-go{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:52px;margin-top:14px;border:0;border-radius:12px;cursor:pointer;font:700 15px/1 var(--nx-font);color:#fff;background:linear-gradient(95deg,#2B9BFF,#1B4FD1);box-shadow:0 16px 30px -16px rgba(30,99,233,.85);position:relative;overflow:hidden;isolation:isolate;transition:transform .35s var(--nx-ease)}
.nxo-go::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 48%,transparent 66%);transform:translateX(-120%);animation:nxoShine 4s ease-in-out infinite 1.5s}
@keyframes nxoShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.nxo-go:hover{transform:translateY(-2px)}
.nxo-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--nx-ease)}
.nxo-go:hover svg{transform:translateX(4px)}
.nxo-go.is-loading{pointer-events:none;opacity:.85}
.nxo-go.is-loading svg{animation:nxoFly .9s ease-in-out infinite alternate}
@keyframes nxoFly{to{transform:translateX(8px)}}
.nxo-bar{height:4px;margin-top:10px;border-radius:4px;background:#E6EEF8;overflow:hidden}
.nxo-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c-blue),var(--c-cyan));transition:width .2s}
.nxo-msg{margin-top:8px;font-size:12.5px;font-weight:600;color:var(--c-err)}
.nxo-msg:empty{display:none}
.nxo-ok{text-align:center;padding:10px 0;animation:nxoIn2 .6s cubic-bezier(.16,1,.3,1)}
.nxo-ok svg{width:64px;height:64px;margin:0 auto;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nxo-ok .ring{stroke:url(#nxoOkG);stroke-width:3;stroke-dasharray:190;stroke-dashoffset:190;animation:nxoDraw 1s .1s cubic-bezier(.6,0,.2,1) forwards}
.nxo-ok .ck{stroke:var(--c-blue);stroke-width:4;stroke-dasharray:50;stroke-dashoffset:50;animation:nxoDraw .6s .9s ease forwards}
@keyframes nxoDraw{to{stroke-dashoffset:0}}
.nxo-ok b{display:block;margin-top:10px;font-family:var(--serif);font-size:20px;color:var(--c-ink)}
.nxo-ok p{margin-top:6px;font-size:13.5px;color:var(--c-txt)}
.nxo-keys h3,.nxo-steps h3{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:600;font-size:17px;color:var(--c-ink)}
.nxo-keys h3 svg,.nxo-steps h3 svg{width:22px;height:22px;fill:none;stroke:var(--c-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nxo-keys ul{list-style:none;margin:12px 0 0;padding:0}
.nxo-keys li{display:flex;gap:14px;align-items:center;padding:11px 0}
.nxo-keys li+li{border-top:1px solid #EEF2F7}
.nxo-keys li svg{flex-shrink:0;width:24px;height:24px;fill:none;stroke:var(--c-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nxo-keys b{display:block;font-size:13.5px;color:var(--c-ink)}
.nxo-keys span{display:block;margin-top:2px;font-size:13px;color:var(--c-txt)}
.nxo-steps ol{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px;position:relative}
.nxo-steps ol::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:linear-gradient(180deg,var(--c-blue),var(--c-cyan));transform-origin:top;animation:nxoTrack 3s ease-in-out infinite alternate}
@keyframes nxoTrack{from{scale:1 .2}to{scale:1 1}}
.nxo-steps li{position:relative;display:flex;gap:16px}
.nxo-steps li>i{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 13px/1 var(--nx-font);font-style:normal;color:var(--c-blue);background:#fff;border:1.5px solid #BFD3F3;z-index:1}
.nxo-steps b{display:block;font-size:13.5px;color:var(--c-ink)}
.nxo-steps span{display:block;margin-top:2px;font-size:12.5px;color:var(--c-dim)}
.nxo-dark{padding:clamp(20px,2vw,26px);border-radius:18px;color:#fff;background:radial-gradient(ellipse 60% 50% at 90% 0%,rgba(43,140,255,.45),transparent 70%),linear-gradient(160deg,#0B2C55,#071E3D);box-shadow:0 30px 60px -36px rgba(7,30,61,.9)}
.nxo-dark h3{display:flex;gap:14px;font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.3}
.nxo-dark h3 svg{flex-shrink:0;width:32px;height:32px;fill:none;stroke:#7FC2FF;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nxo-dark p{margin-top:12px;font-size:13.5px;line-height:1.55;color:#C9D6E6}
.nxo-dark a{display:flex;align-items:center;justify-content:center;gap:12px;height:48px;margin-top:16px;border-radius:12px;border:1.5px solid rgba(255,255,255,.75);font-weight:700;font-size:14px;transition:background .35s,color .35s}
.nxo-dark a:hover{background:#fff;color:#0B2C55}
.nxo-dark a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nxo-view{animation:nxoView .6s cubic-bezier(.16,1,.3,1)}
@keyframes nxoView{from{opacity:0;translate:0 18px}}
.nxo-detail .nxo-card{animation:nxoIn2 .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--j,0) * 80ms)}

/* Ruban */
.nxo-low{position:relative;height:clamp(160px,16vw,260px);margin-top:clamp(-20px,-1vw,0px)}
.nxo-wave{position:absolute;inset:0;pointer-events:none}
.nxo-wave canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
/* Footer : sous-titre logo + réseaux */
.nxf .nxf-brand .sub{display:block;margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.34em;color:#4F6377}
.nxf .nxf-brand .sub i{font-style:normal;margin:0 .5em;color:#1E63E9}
.nxf-social{display:flex;gap:10px;margin-top:18px}
.nxf-social a{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid #D6E1EE;background:#fff;font-size:12.5px;font-weight:700;color:#2E4357;transition:transform .3s var(--nx-ease),color .3s,border-color .3s}
.nxf-social a:hover{transform:translateY(-2px);color:#1E63E9;border-color:#9FC0F2}
.nxf-social svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ===== Entrées ===== */
.nx-js .nxo [data-in]{opacity:0;translate:0 24px}
.nx-js .nxo.is-in [data-in]{animation:nxoIn 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d,0s)}
@keyframes nxoIn{to{opacity:1;translate:0 0}}
.nx-js .nxo .nxo-title .ln>span{transform:translateY(110%)}
.nx-js .nxo.is-in .nxo-title .ln>span{animation:nxoRise 1.1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i) * 140ms + .1s)}
@keyframes nxoRise{to{transform:none}}
.nx-js .nxo .nxo-photo{opacity:0}
.nx-js .nxo.is-in .nxo-photo{animation:nxoFade 1.6s ease forwards .1s}
@keyframes nxoFade{to{opacity:1}}
.nx-js .nxo .nxo-list .nxo-job{opacity:0;translate:0 20px}
.nx-js .nxo.is-in .nxo-list .nxo-job{animation:nxoIn .8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--j,0) * 80ms + .8s)}
.nx-js .nxo.is-in .nxo-list.is-swap .nxo-job{animation:nxoIn2 .55s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--j,0) * 55ms);opacity:1;translate:none}
.nxo.is-paused *,.nxo.is-paused *::before,.nxo.is-paused *::after{animation-play-state:paused!important}

/* ===== Responsive ===== */
@media (max-width:1100px){.nxo-body,.nxo-detail{grid-template-columns:minmax(0,1fr)}.nxo-aside,.nxo-dside{position:static}.nxo-aside{grid-template-columns:1fr 1fr}.nxo-glass{display:none}.nxo-photo img{opacity:.55}.nxo-chips{justify-content:flex-start}.nxo-facts{grid-template-columns:1fr 1fr}
  .nxo-jump{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;margin-top:14px;border-radius:12px;font-weight:700;font-size:14.5px;color:#fff;background:linear-gradient(95deg,#2B9BFF,#1B4FD1);box-shadow:0 14px 28px -14px rgba(30,99,233,.85)}
  .nxo-jump svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg)}
  .nxo-apply{scroll-margin-top:16px}}
@media (max-width:700px){
  .nxo-photo img{opacity:.16}
  .nxo-search{flex-wrap:wrap;padding:8px}.nxo-search input{flex:1 1 70%}.nxo-search button{flex:1 1 100%;justify-content:center}
  .nxo-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * clamp(16px,4vw,64px));padding:0 clamp(16px,4vw,64px) 6px}.nxo-chips::-webkit-scrollbar{display:none}.nxo-chips li{flex-shrink:0}
  .nxo-job{grid-template-columns:auto 1fr}.nxo-job__side{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
  .nxo-aside{grid-template-columns:1fr}
  .nxo-sec{grid-template-columns:auto 1fr}.nxo-sec>svg{display:none}.nxo-sec .c,.nxo-goal{grid-column:1/-1}
  .nxo-terms{grid-template-columns:1fr 1fr;row-gap:14px}.nxo-terms div{padding:0!important;border:0!important}
  .nxo-plus ul{grid-template-columns:1fr}
  .nxo-facts div{gap:8px;padding:10px}.nxo-facts svg{width:20px;height:20px}.nxo-facts b{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  .nxo *,.nxo *::before,.nxo *::after{animation:none!important;transition:none!important}
  .nx-js .nxo [data-in],.nx-js .nxo .nxo-photo,.nx-js .nxo .nxo-list .nxo-job{opacity:1!important;translate:none!important}
  .nx-js .nxo .nxo-title .ln>span{transform:none!important}
  .nxo-ok .ring,.nxo-ok .ck{stroke-dashoffset:0!important}
}
