/* ══════════════════════════════════════════════════════════════════════════
   NILUME — DESIGN SYSTEM (global, plugin-driven)
   Servi par le module toolkit "nilume-design". Scopé .nlm-root (zéro conflit thème),
   + un bloc navbar qui rehausse l'entête Devfox natif (#cmt-page-header).
   CLAIR PAR DÉFAUT · bascule SOMBRE automatique (prefers-color-scheme) = design d'origine.
   Le markup des pages ne contient plus QUE du HTML : tokens + composants + JS sont ici.
   ════════════════════════════════════════════════════════════════════════════ */

/* ══════════ RESET (scopé) ══════════ */
.nlm-root,.nlm-root *,.nlm-root *::before,.nlm-root *::after{box-sizing:border-box;margin:0;padding:0}
.nlm-root img{max-width:100%;display:block}
.nlm-root a{text-decoration:none}
.nlm-root button{font-family:inherit}

/* ══════════ TOKENS — CLAIR (défaut) ══════════ */
.nlm-root{
  --f-display:'Oswald',sans-serif;
  --f-body:'Outfit',sans-serif;
  --f-accent:'Rajdhani',sans-serif;

  /* ancre bleue Nilume + accents désaturés "luxe" */
  --blue:#1f6fc2;            /* bleu encre, AA sur blanc */
  --blue-bright:#2b86d9;     /* halos / hovers */
  --blue-light:#48A3EB;
  --blue-deep:#05255f;
  --blue-dark1:#003063;
  --blue-dark2:#05255f;
  --gold:#c9a45a;            /* or discret */
  --teal:#16487f;            /* désaturé */
  --yellow:#c98a16;          /* "amber" lighting, désaturé pour le clair */
  --violet:#7c54e0;          /* désaturé */

  /* surfaces & texte (clair) */
  --bg-0:#f5f8fd;           /* fond page nacré */
  --bg-1:#eaf1fb;
  --surface:#ffffff;
  --panel:rgba(255,255,255,.86);
  --panel-2:#ffffff;
  --line:rgba(11,27,51,.10);
  --line-soft:rgba(11,27,51,.06);
  --txt:rgba(36,52,77,.92);            /* corps */
  --txt-strong:rgba(11,27,51,.98);     /* fort */
  --txt-mute:rgba(70,90,120,.62);      /* secondaire */

  /* fonds sémantiques de sections (clair) */
  --hero-bg:radial-gradient(ellipse 120% 80% at 50% -10%,#dbeafd 0%,transparent 60%),linear-gradient(160deg,#eaf2fd 0%,#f5f8fd 55%,#e7f0fb 100%);
  --slide-bg:linear-gradient(155deg,#eef4fd 0%,#f6f9fe 55%,#e9f1fb 100%);
  --signal-bg:linear-gradient(180deg,#ffffff,#eef4fc);
  --promise-bg:radial-gradient(ellipse 55% 60% at 100% 50%,rgba(43,134,217,.10) 0%,transparent 55%),radial-gradient(ellipse 40% 45% at 0% 15%,rgba(124,84,224,.07) 0%,transparent 50%),#f5f8fd;
  --privacy-bg:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(43,134,217,.10),transparent 60%),linear-gradient(180deg,#ffffff,#eef4fc);
  --lighting-bg:linear-gradient(180deg,#fbf3e4 0%,#f3eefb 55%,#eef3fd 100%);
  --process-bg:radial-gradient(ellipse 50% 60% at 100% 50%,rgba(43,134,217,.08),transparent 55%),#f5f8fd;
  --cta-bg:linear-gradient(180deg,#0a1f3f,#05132b);   /* CTA reste profond = contraste premium */
  --feat-bg:#ffffff;
  --feat-bg-h:#f3f8ff;
  --card-shadow:0 18px 40px -28px rgba(11,27,51,.35);

  /* le "screen" mockup hub reste sombre (effet device) même en clair */
  --screen-bg:rgba(8,18,40,.96);
  --screen-line:rgba(80,178,253,.22);
  --on-cta:#ffffff;          /* texte sur boutons bleus pleins */
  --on-dark:#eaf2ff;         /* texte sur CTA profond */
  --nav-fg:var(--txt-strong);/* texte navbar transparente sur hero : ENCRE en clair */
  --nav-shadow:none;

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.7,0,.84,0);

  position:relative;width:100%;overflow:hidden;
  font-family:var(--f-body);-webkit-font-smoothing:antialiased;
  background:var(--bg-0);color:var(--txt);line-height:1.5;
}

/* ══════════ TOKENS — SOMBRE (auto : navigateur dark / Dark Reader) = design d'origine ══════════ */
@media (prefers-color-scheme:dark){
  html:not(.vis-light) .nlm-root{
    --blue:#50B2FD;--blue-bright:#50B2FD;--blue-light:#48A3EB;--blue-deep:#05255f;
    --teal:#3f86d4;--yellow:#ffd533;--violet:#A965F7;--gold:#d8b56a;

    --bg-0:#020c1f;--bg-1:#04173a;
    --surface:#06142e;
    --panel:rgba(6,20,46,.72);--panel-2:rgba(9,28,62,.82);
    --line:rgba(80,178,253,.14);--line-soft:rgba(80,178,253,.08);
    --txt:rgba(206,222,245,.74);--txt-strong:rgba(232,242,255,.96);--txt-mute:rgba(140,160,196,.55);

    --hero-bg:radial-gradient(ellipse 120% 80% at 50% -10%,#063067 0%,transparent 60%),linear-gradient(160deg,#03102b 0%,#020a1c 55%,#04132f 100%);
    --slide-bg:linear-gradient(155deg,#031130 0%,#020a1f 55%,#04173c 100%);
    --signal-bg:linear-gradient(180deg,#020a1c,#03102b);
    --promise-bg:radial-gradient(ellipse 55% 60% at 100% 50%,rgba(80,178,253,.07) 0%,transparent 55%),radial-gradient(ellipse 40% 45% at 0% 15%,rgba(169,101,247,.05) 0%,transparent 50%),#020c1f;
    --privacy-bg:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(80,178,253,.10),transparent 60%),linear-gradient(180deg,#03102b,#020c22);
    --lighting-bg:linear-gradient(180deg,#020c22 0%,#0a0814 55%,#120a26 100%);
    --process-bg:radial-gradient(ellipse 50% 60% at 100% 50%,rgba(80,178,253,.08),transparent 55%),#020c1f;
    --cta-bg:rgba(3,5,12,.99);
    --feat-bg:rgba(7,22,50,.6);--feat-bg-h:rgba(11,32,70,.85);
    --card-shadow:0 28px 54px -32px #000;
    --on-dark:rgba(232,242,255,.96);
    --nav-fg:#ffffff;                       /* texte navbar transparente sur hero : BLANC en sombre (= screenshot) */
    --nav-shadow:0 1px 14px rgba(0,12,30,.45);
  }
}

  html.vis-dark .nlm-root{
    --blue:#50B2FD;--blue-bright:#50B2FD;--blue-light:#48A3EB;--blue-deep:#05255f;
    --teal:#3f86d4;--yellow:#ffd533;--violet:#A965F7;--gold:#d8b56a;

    --bg-0:#020c1f;--bg-1:#04173a;
    --surface:#06142e;
    --panel:rgba(6,20,46,.72);--panel-2:rgba(9,28,62,.82);
    --line:rgba(80,178,253,.14);--line-soft:rgba(80,178,253,.08);
    --txt:rgba(206,222,245,.74);--txt-strong:rgba(232,242,255,.96);--txt-mute:rgba(140,160,196,.55);

    --hero-bg:radial-gradient(ellipse 120% 80% at 50% -10%,#063067 0%,transparent 60%),linear-gradient(160deg,#03102b 0%,#020a1c 55%,#04132f 100%);
    --slide-bg:linear-gradient(155deg,#031130 0%,#020a1f 55%,#04173c 100%);
    --signal-bg:linear-gradient(180deg,#020a1c,#03102b);
    --promise-bg:radial-gradient(ellipse 55% 60% at 100% 50%,rgba(80,178,253,.07) 0%,transparent 55%),radial-gradient(ellipse 40% 45% at 0% 15%,rgba(169,101,247,.05) 0%,transparent 50%),#020c1f;
    --privacy-bg:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(80,178,253,.10),transparent 60%),linear-gradient(180deg,#03102b,#020c22);
    --lighting-bg:linear-gradient(180deg,#020c22 0%,#0a0814 55%,#120a26 100%);
    --process-bg:radial-gradient(ellipse 50% 60% at 100% 50%,rgba(80,178,253,.08),transparent 55%),#020c1f;
    --cta-bg:rgba(3,5,12,.99);
    --feat-bg:rgba(7,22,50,.6);--feat-bg-h:rgba(11,32,70,.85);
    --card-shadow:0 28px 54px -32px #000;
    --on-dark:rgba(232,242,255,.96);
    --nav-fg:#ffffff;                       /* texte navbar transparente sur hero : BLANC en sombre (= screenshot) */
    --nav-shadow:0 1px 14px rgba(0,12,30,.45);
  }



/* overlays décoratifs */
.nlm-grain{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E")}
@media (prefers-color-scheme:light){html:not(.vis-dark) .nlm-grain{opacity:.25}}
html.vis-light .nlm-grain{opacity:.25}

.nlm-gridlines{position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(0deg,transparent,transparent 53px,var(--line-soft) 53px,var(--line-soft) 54px),
            repeating-linear-gradient(90deg,transparent,transparent 53px,var(--line-soft) 53px,var(--line-soft) 54px)}

/* reveal on scroll */
.nlm-reveal{opacity:0;transform:translateY(34px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}
.nlm-reveal.nlm-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .nlm-root *{animation-duration:.001s !important;animation-iteration-count:1 !important}
  .nlm-reveal{opacity:1;transform:none}
}

/* ══════════════════════════════════════════════════════════════
   NAVBAR — rehausse l'entête Devfox natif (#cmt-page-header)
   Haut de page = transparente, texte blanc sur le hero.
   .nlm-nav-solid (ajouté par JS au scroll OU sur page sans hero) = fond clair lisible.
   ══════════════════════════════════════════════════════════════ */
/* ⚠️ Tout le rehaussement navbar est DESKTOP-ONLY (≥901px). Sur mobile, on laisse
   l'entête + menu burger NATIFS Devfox (qui fonctionnent) → le menu mobile s'ouvre
   partout, jamais masqué/illisible par nos overrides. */
@media (min-width:901px){
  body.nlm-skin #cmt-page-header,
  body.nlm-skin #site-header{transition:background .3s var(--ease-out),box-shadow .3s,backdrop-filter .3s}

  /* état HAUT / sur hero : transparent, texte (encre clair / blanc sombre) */
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header{
    background:transparent !important;box-shadow:none !important}
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header a,
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header .site-title a,
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header .menu-item > a,
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header .cmt-header-icon a,
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header .menu-toggle{
    color:var(--nav-fg) !important;text-shadow:var(--nav-shadow)}
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header .cmt-devfox-icon-basket,
  body.nlm-skin.nlm-hero-page:not(.nlm-nav-solid) #site-header .cmt-devfox-icon-bars{color:var(--nav-fg) !important}

  /* état SOLIDE : fond clair translucide + texte encre */
  body.nlm-skin.nlm-nav-solid #site-header,
  body.nlm-skin:not(.nlm-hero-page) #site-header{
    background:rgba(255,255,255,.82) !important;backdrop-filter:blur(14px) saturate(1.3);
    -webkit-backdrop-filter:blur(14px) saturate(1.3);
    box-shadow:0 1px 0 var(--line),0 10px 30px -22px rgba(11,27,51,.4) !important;
    border-bottom:1px solid var(--line)}
  body.nlm-skin.nlm-nav-solid #site-header a,
  body.nlm-skin.nlm-nav-solid #site-header .site-title a,
  body.nlm-skin.nlm-nav-solid #site-header .menu-item > a,
  body.nlm-skin:not(.nlm-hero-page) #site-header a,
  body.nlm-skin:not(.nlm-hero-page) #site-header .menu-item > a{color:var(--txt-strong) !important;text-shadow:none}
  body.nlm-skin.nlm-nav-solid #site-header .menu-item > a:hover,
  body.nlm-skin:not(.nlm-hero-page) #site-header .menu-item > a:hover{color:var(--blue) !important}
  /* underline animé sous les items (raffinement premium) */
  body.nlm-skin #site-header .menu-item > a{position:relative}
  body.nlm-skin #site-header .nav-menu > .menu-item > a::after{content:'';position:absolute;left:0;right:auto;bottom:2px;height:2px;width:0;
    background:linear-gradient(90deg,var(--blue-bright),var(--violet));transition:width .28s var(--ease-out)}
  body.nlm-skin #site-header .nav-menu > .menu-item > a:hover::after{width:100%}
}
@media (min-width:901px) and (prefers-color-scheme:dark){
  html:not(.vis-light) body.nlm-skin.nlm-nav-solid #site-header, html:not(.vis-light) body.nlm-skin:not(.nlm-hero-page) #site-header{
    background:rgba(4,14,34,.86) !important;border-bottom-color:rgba(80,178,253,.16)}
  html:not(.vis-light) body.nlm-skin.nlm-nav-solid #site-header a, html:not(.vis-light) body.nlm-skin:not(.nlm-hero-page) #site-header a, html:not(.vis-light) body.nlm-skin.nlm-nav-solid #site-header .menu-item > a, html:not(.vis-light) body.nlm-skin:not(.nlm-hero-page) #site-header .menu-item > a{color:#eaf2ff !important}
}
@media (min-width:901px){
  html.vis-dark body.nlm-skin.nlm-nav-solid #site-header, html.vis-dark body.nlm-skin:not(.nlm-hero-page) #site-header{
    background:rgba(4,14,34,.86) !important;border-bottom-color:rgba(80,178,253,.16)}
  html.vis-dark body.nlm-skin.nlm-nav-solid #site-header a, html.vis-dark body.nlm-skin:not(.nlm-hero-page) #site-header a, html.vis-dark body.nlm-skin.nlm-nav-solid #site-header .menu-item > a, html.vis-dark body.nlm-skin:not(.nlm-hero-page) #site-header .menu-item > a{color:#eaf2ff !important}
}

/* sélecteur de langue injecté dans le menu (navbar) — flags lisibles */
.ntr-menu-switcher{align-items:center;gap:10px!important}
.ntr-menu-switcher a{font-size:20px;line-height:1;opacity:.55;transition:opacity .2s,transform .2s}
.ntr-menu-switcher a:hover{opacity:1;transform:translateY(-1px)}

/* ══════════════════════════════════════════════════════════════
   SLIDER HERO
   ══════════════════════════════════════════════════════════════ */
.nlm-hero{position:relative;width:100%;overflow:hidden;user-select:none;height:780px;background:var(--hero-bg)}
@media(max-width:900px){.nlm-hero{height:auto;min-height:660px;padding-bottom:80px}}
@media(max-width:600px){.nlm-hero{min-height:620px}}

.nlm-slide{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:1;overflow:hidden}
.nlm-slide.is-active{opacity:1;pointer-events:all;z-index:2}
@media(max-width:900px){
  .nlm-slide{position:relative;inset:auto;display:none;overflow:visible}
  .nlm-slide.is-active{display:block}
}
.nlm-slide[data-s="1"]{--acc:#2b86d9;--accDim:rgba(43,134,217,1)}
.nlm-slide[data-s="2"]{--acc:#16487f;--accDim:rgba(22,72,127,1)}
.nlm-slide[data-s="3"]{--acc:#c98a16;--accDim:rgba(201,138,22,1)}
.nlm-slide[data-s="4"]{--acc:#7c54e0;--accDim:rgba(124,84,224,1)}
.nlm-slide[data-s="5"]{--acc:#2b86d9;--accDim:rgba(43,134,217,1)}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) .nlm-slide[data-s="1"]{--acc:#50B2FD;--accDim:rgba(80,178,253,1)}
  html:not(.vis-light) .nlm-slide[data-s="2"]{--acc:#3f86d4;--accDim:rgba(63,134,212,1)}
  html:not(.vis-light) .nlm-slide[data-s="3"]{--acc:#ffd533;--accDim:rgba(255,213,51,1)}
  html:not(.vis-light) .nlm-slide[data-s="4"]{--acc:#A965F7;--accDim:rgba(169,101,247,1)}
  html:not(.vis-light) .nlm-slide[data-s="5"]{--acc:#48A3EB;--accDim:rgba(72,163,235,1)}
}

  html.vis-dark .nlm-slide[data-s="1"]{--acc:#50B2FD;--accDim:rgba(80,178,253,1)}
  html.vis-dark .nlm-slide[data-s="2"]{--acc:#3f86d4;--accDim:rgba(63,134,212,1)}
  html.vis-dark .nlm-slide[data-s="3"]{--acc:#ffd533;--accDim:rgba(255,213,51,1)}
  html.vis-dark .nlm-slide[data-s="4"]{--acc:#A965F7;--accDim:rgba(169,101,247,1)}
  html.vis-dark .nlm-slide[data-s="5"]{--acc:#48A3EB;--accDim:rgba(72,163,235,1)}



.nlm-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--slide-bg)}
.nlm-bg::after{content:'';position:absolute;inset:0;z-index:2;
  background:repeating-linear-gradient(0deg,transparent,transparent 54px,var(--line-soft) 54px,var(--line-soft) 55px),
             repeating-linear-gradient(90deg,transparent,transparent 54px,var(--line-soft) 54px,var(--line-soft) 55px);
  -webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 40%,#000 30%,transparent 80%);
  mask-image:radial-gradient(ellipse 90% 90% at 50% 40%,#000 30%,transparent 80%)}
.nlm-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform;z-index:1}
@media (prefers-color-scheme:dark){html:not(.vis-light) .nlm-orb{opacity:.85}}
html.vis-dark .nlm-orb{opacity:.85}

.nlm-orb.o1{width:54%;height:80%;top:-18%;animation:nlmFloat1 16s ease-in-out infinite}
.nlm-orb.o2{width:46%;height:70%;bottom:-22%;animation:nlmFloat2 19s ease-in-out infinite}
.nlm-orb.o3{width:30%;height:46%;top:30%;left:36%;filter:blur(90px);opacity:.4;animation:nlmFloat3 22s ease-in-out infinite}
@keyframes nlmFloat1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,5%) scale(1.08)}}
@keyframes nlmFloat2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-5%,-4%) scale(1.12)}}
@keyframes nlmFloat3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-6%,6%) scale(1.18)}}
.nlm-slide[data-s="1"] .o1{right:-6%;background:radial-gradient(circle,rgba(80,178,253,.55),transparent 70%)}
.nlm-slide[data-s="1"] .o2{left:-8%;background:radial-gradient(circle,rgba(0,90,180,.4),transparent 70%)}
.nlm-slide[data-s="1"] .o3{background:radial-gradient(circle,rgba(120,200,255,.4),transparent 70%)}
.nlm-slide[data-s="2"] .o1{left:-6%;background:radial-gradient(circle,rgba(45,200,180,.42),transparent 70%)}
.nlm-slide[data-s="2"] .o2{right:-8%;background:radial-gradient(circle,rgba(0,150,150,.4),transparent 70%)}
.nlm-slide[data-s="2"] .o3{background:radial-gradient(circle,rgba(90,230,210,.32),transparent 70%)}
.nlm-slide[data-s="3"] .o1{right:-4%;background:radial-gradient(circle,rgba(255,190,70,.42),transparent 70%)}
.nlm-slide[data-s="3"] .o2{left:-8%;background:radial-gradient(circle,rgba(255,150,50,.3),transparent 70%)}
.nlm-slide[data-s="3"] .o3{background:radial-gradient(circle,rgba(255,225,140,.34),transparent 70%)}
.nlm-slide[data-s="4"] .o1{right:-6%;background:radial-gradient(circle,rgba(169,101,247,.45),transparent 70%)}
.nlm-slide[data-s="4"] .o2{left:-8%;background:radial-gradient(circle,rgba(120,70,210,.4),transparent 70%)}
.nlm-slide[data-s="4"] .o3{background:radial-gradient(circle,rgba(210,150,255,.34),transparent 70%)}
.nlm-slide[data-s="5"] .o1{left:-6%;background:radial-gradient(circle,rgba(80,178,253,.45),transparent 70%)}
.nlm-slide[data-s="5"] .o2{right:-8%;background:radial-gradient(circle,rgba(0,110,190,.4),transparent 70%)}
.nlm-slide[data-s="5"] .o3{background:radial-gradient(circle,rgba(120,190,255,.34),transparent 70%)}

.nlm-slide-grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.25;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E")}
@media (prefers-color-scheme:dark){html:not(.vis-light) .nlm-slide-grain{opacity:.4}}
html.vis-dark .nlm-slide-grain{opacity:.4}


.nlm-hero-conic{position:absolute;width:720px;height:720px;top:-200px;right:-180px;z-index:1;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(43,134,217,.08) 60deg,rgba(201,138,22,.04) 130deg,rgba(124,84,224,.06) 220deg,transparent 310deg);
  animation:nlmConic 30s linear infinite}
@keyframes nlmConic{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.nlm-playhead{position:absolute;top:0;bottom:0;width:1px;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(43,134,217,.4) 15%,rgba(43,134,217,.4) 85%,transparent);
  box-shadow:0 0 12px rgba(43,134,217,.3);animation:nlmScan 9s ease-in-out infinite}
@keyframes nlmScan{0%{left:-2%;opacity:0}6%{opacity:1}90%{opacity:.7}100%{left:102%;opacity:0}}
@media(max-width:900px){.nlm-hero-conic,.nlm-playhead{display:none}}

.nlm-inner{position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;max-width:1380px;margin:0 auto;align-items:stretch}
@media(max-width:900px){.nlm-inner{grid-template-columns:1fr;height:auto;align-items:flex-start}}
.nlm-col-title{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  padding:150px 50px 60px;border-right:1px solid var(--line);position:relative}
.nlm-slide[data-side="right"] .nlm-col-title{border-right:none;border-left:1px solid var(--line)}
@media(min-width:901px){.nlm-slide[data-side="right"] .nlm-col-feat{order:-1}}
.nlm-col-title::after{content:'';position:absolute;bottom:50px;left:50px;right:50px;height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent)}
@media(max-width:900px) and (min-width:601px){
  .nlm-col-title{padding:120px 30px 40px;border-right:none !important;border-left:none !important;border-bottom:1px solid var(--line) !important}
  .nlm-col-title::after{display:none}}
@media(max-width:600px){
  .nlm-col-title{padding:118px 20px 26px !important;border-right:none !important;border-left:none !important;border-bottom:1px solid var(--line) !important}
  .nlm-col-title::after{display:none}}

.nlm-num{font-family:var(--f-accent);font-size:12px;font-weight:700;letter-spacing:5px;color:var(--acc);margin-bottom:10px;
  opacity:0;transform:translateY(-10px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.is-active .nlm-num{opacity:.85;transform:none;transition-delay:.05s}
.nlm-eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--f-accent);font-size:13px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--acc);margin-bottom:12px;
  opacity:0;transform:translateY(-10px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)}
.nlm-eyebrow::before,.nlm-eyebrow::after{content:'';display:block;width:22px;height:2px;background:var(--acc);opacity:.7;flex-shrink:0}
.is-active .nlm-eyebrow{opacity:1;transform:none;transition-delay:.12s}
.nlm-title{font-family:var(--f-display);font-weight:600;font-size:clamp(46px,5.6vw,86px);line-height:.95;letter-spacing:.5px;
  text-transform:uppercase;color:var(--txt-strong);margin-bottom:18px;
  text-shadow:0 0 38px color-mix(in srgb,var(--acc) 22%,transparent);
  opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}
.nlm-title b{font-weight:600;color:var(--acc)}
@media(max-width:700px){.nlm-title{font-size:clamp(40px,11vw,64px)}}
.is-active .nlm-title{opacity:1;transform:none;transition-delay:.2s}
.nlm-tagline{font-family:var(--f-display);font-weight:400;font-size:clamp(15px,1.5vw,20px);letter-spacing:1px;color:var(--txt-strong);margin-bottom:16px;
  opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.is-active .nlm-tagline{opacity:1;transform:none;transition-delay:.32s}
.nlm-desc{font-size:clamp(13px,1vw,15px);font-weight:400;line-height:1.78;color:var(--txt);max-width:400px;
  opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.nlm-desc b{font-weight:600;color:var(--txt-strong)}
.is-active .nlm-desc{opacity:1;transform:none;transition-delay:.42s}
@media(max-width:900px){.nlm-desc{max-width:100%}}

.nlm-col-feat{display:flex;flex-direction:column;justify-content:center;padding:150px 50px 60px}
.nlm-feats{display:flex;flex-direction:column;gap:7px}
.nlm-feat{display:flex;gap:13px;align-items:flex-start;background:var(--feat-bg);border:1px solid var(--line);
  padding:13px 16px;position:relative;overflow:hidden;backdrop-filter:blur(6px);
  transition:background .22s,border-color .22s,transform .22s,box-shadow .22s;
  opacity:0;transform:translateY(14px)}
.nlm-feat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc);transform:scaleY(0);transform-origin:top;transition:transform .28s var(--ease-out)}
.nlm-feat:hover{background:var(--feat-bg-h);border-color:color-mix(in srgb,var(--acc) 45%,transparent);transform:translateX(4px);box-shadow:var(--card-shadow)}
.nlm-feat:hover::before{transform:scaleY(1)}
.nlm-feat__ico{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;
  color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent)}
.nlm-feat__txt{min-width:0}
.nlm-feat__title{font-family:var(--f-body);font-size:13.5px;font-weight:600;color:var(--txt-strong);line-height:1.25;margin-bottom:2px}
.nlm-feat__desc{font-size:11.5px;font-weight:400;color:var(--txt);line-height:1.5}
.nlm-feat__desc b{font-weight:600;color:var(--txt-strong)}
.is-active .nlm-feat:nth-child(1){opacity:1;transform:none;transition:opacity .5s var(--ease-out) .3s,transform .5s var(--ease-out) .3s,background .22s,border-color .22s,box-shadow .22s}
.is-active .nlm-feat:nth-child(2){opacity:1;transform:none;transition:opacity .5s var(--ease-out) .38s,transform .5s var(--ease-out) .38s,background .22s,border-color .22s,box-shadow .22s}
.is-active .nlm-feat:nth-child(3){opacity:1;transform:none;transition:opacity .5s var(--ease-out) .46s,transform .5s var(--ease-out) .46s,background .22s,border-color .22s,box-shadow .22s}
.is-active .nlm-feat:nth-child(4){opacity:1;transform:none;transition:opacity .5s var(--ease-out) .54s,transform .5s var(--ease-out) .54s,background .22s,border-color .22s,box-shadow .22s}
.is-active .nlm-feat:nth-child(5){opacity:1;transform:none;transition:opacity .5s var(--ease-out) .62s,transform .5s var(--ease-out) .62s,background .22s,border-color .22s,box-shadow .22s}

.nlm-cta-wrap{margin-top:18px;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease-out) .76s,transform .5s var(--ease-out) .76s}
.is-active .nlm-cta-wrap{opacity:1;transform:none}
.nlm-cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:500;font-size:15px;letter-spacing:.6px;text-transform:uppercase;
  padding:14px 30px;cursor:pointer;border:none;color:var(--on-cta);
  background:var(--acc);box-shadow:0 8px 26px -10px var(--acc);transition:transform .22s,box-shadow .22s,filter .22s}
.nlm-cta i{font-size:12px;transition:transform .22s}
.nlm-cta:hover{transform:translateY(-3px);box-shadow:0 14px 34px -8px var(--acc);filter:brightness(1.06)}
.nlm-cta:hover i{transform:translateX(4px)}
@media(max-width:900px){.nlm-col-feat{padding:26px 30px 24px}.nlm-feats{max-width:560px;margin:0 auto;width:100%}}
@media(max-width:600px){.nlm-col-feat{padding:20px 18px 18px}}

/* curtain transition */
.nlm-curtain{position:absolute;inset:0;display:flex;pointer-events:none;z-index:40}
.nlm-curtain-col{flex:1;background:var(--slide-bg);transform:scaleY(0);transform-origin:top;will-change:transform}
.nlm-curtain.ph-in .nlm-curtain-col{transform:scaleY(1);transition:transform .42s var(--ease-out)}
.nlm-curtain.ph-out .nlm-curtain-col{transform:scaleY(0);transform-origin:bottom;transition:transform .38s var(--ease-in)}
.nlm-curtain-col:nth-child(1){transition-delay:0s}.nlm-curtain-col:nth-child(2){transition-delay:.05s}
.nlm-curtain-col:nth-child(3){transition-delay:.1s}.nlm-curtain-col:nth-child(4){transition-delay:.15s}
.nlm-curtain-col:nth-child(5){transition-delay:.2s}
.nlm-curtain::after{content:'';position:absolute;left:0;right:0;height:2px;top:50%;opacity:0;transition:opacity .2s;
  background:linear-gradient(90deg,transparent,var(--blue-bright),var(--gold),var(--violet),transparent)}
.nlm-curtain.ph-in::after{opacity:1}

/* nav PC / dots / controls */
.nlm-nav{position:absolute;bottom:14px;right:18px;display:flex;gap:4px;z-index:30}
.nlm-nav-btn{width:42px;height:42px;background:var(--panel);border:1px solid var(--line);color:var(--txt-strong);
  display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(6px);
  transition:background .2s,border-color .2s,color .2s;outline:none}
.nlm-nav-btn:hover{background:color-mix(in srgb,var(--blue-bright) 22%,transparent);border-color:var(--blue-bright);color:var(--blue)}
.nlm-nav-btn i{font-size:13px}
@media(max-width:600px){.nlm-nav{display:none}}
.nlm-progress{position:absolute;bottom:0;left:0;height:3px;width:0;z-index:32;
  background:linear-gradient(90deg,var(--blue-bright),var(--violet));box-shadow:0 0 12px color-mix(in srgb,var(--blue-bright) 50%,transparent)}
.nlm-counter{position:absolute;bottom:26px;left:5%;font-family:var(--f-accent);font-size:14px;font-weight:600;color:var(--txt-mute);letter-spacing:2px;z-index:30}
.nlm-counter .cur{color:var(--blue);font-size:21px}
@media(max-width:600px){.nlm-counter{display:none}}
.nlm-dots{position:absolute;bottom:42px;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 120px}
@media(max-width:600px){.nlm-dots{padding:0 8px;bottom:36px}}
.nlm-dot-arrow{display:none;width:36px;height:36px;flex-shrink:0;background:var(--panel);border:1px solid var(--line);
  color:var(--txt-strong);align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;outline:none}
.nlm-dot-arrow:hover{background:color-mix(in srgb,var(--blue-bright) 22%,transparent);color:var(--blue)}
@media(max-width:600px){.nlm-dot-arrow{display:flex}}
.nlm-dots-track{display:flex;gap:7px}
.nlm-dot{width:22px;height:4px;background:var(--line);border:none;cursor:pointer;padding:0;transition:background .25s,width .3s var(--ease-out)}
.nlm-dot.is-active{background:linear-gradient(90deg,var(--blue-bright),var(--violet));width:34px}
.nlm-dot:hover:not(.is-active){background:var(--txt-mute)}
.nlm-pause{display:none;position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:26px;height:26px;
  background:var(--panel);border:1px solid var(--line);color:var(--txt-strong);align-items:center;justify-content:center;
  cursor:pointer;z-index:31;border-radius:50%;backdrop-filter:blur(6px);outline:none;padding:0}
.nlm-pause i{font-size:9px}
@media(max-width:600px){.nlm-pause{display:flex}}
.nlm-scroll{position:absolute;bottom:22px;left:34px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:20;opacity:.55}
.nlm-scroll span{font-family:var(--f-accent);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--txt-mute);writing-mode:vertical-rl;transform:rotate(180deg)}
.nlm-scroll::before{content:'';width:1px;height:34px;background:linear-gradient(180deg,var(--blue-bright),transparent);animation:nlmPulse 1.8s ease-in-out infinite}
@keyframes nlmPulse{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:600px){.nlm-scroll{display:none}}

/* ══════════ SIGNAL STRIP ══════════ */
.nlm-signal{position:relative;z-index:2;background:var(--signal-bg);border-bottom:1px solid var(--line)}
.nlm-signal-inner{max-width:1280px;margin:0 auto;padding:30px 6%;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.nlm-signal-tag{display:inline-flex;align-items:center;gap:11px;font-family:var(--f-accent);font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--txt-mute);white-space:nowrap}
.nlm-signal-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(22,72,127,.5);animation:nlmLive 2.4s ease-out infinite}
@keyframes nlmLive{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--teal) 45%,transparent)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.nlm-signal-row{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;flex:1;justify-content:flex-end}
.nlm-metric{padding:0 26px;border-left:1px solid var(--line-soft);text-align:left}
.nlm-metric:first-child{border-left:none}
.nlm-metric__v{font-family:var(--f-display);font-weight:600;font-size:clamp(22px,2.4vw,32px);line-height:1;color:var(--txt-strong);display:flex;align-items:baseline;gap:4px}
.nlm-metric__v b{color:var(--blue);font-weight:600}
.nlm-metric__v .u{font-size:.5em;font-family:var(--f-accent);font-weight:700;letter-spacing:1px;color:var(--txt-mute)}
.nlm-metric:nth-child(2) .nlm-metric__v b{color:var(--teal)}
.nlm-metric:nth-child(3) .nlm-metric__v b{color:var(--yellow)}
.nlm-metric:nth-child(4) .nlm-metric__v b{color:var(--violet)}
.nlm-metric__l{font-family:var(--f-accent);font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--txt-mute);margin-top:7px}
@media(max-width:760px){.nlm-signal-inner{flex-direction:column;align-items:flex-start;gap:20px}.nlm-signal-row{justify-content:flex-start;width:100%}.nlm-metric{padding:0 18px}.nlm-metric:first-child{padding-left:0}}
@media(max-width:480px){.nlm-signal-row{gap:14px 0}.nlm-metric{padding:0 14px}}

/* ══════════ SECTIONS COMMUNES ══════════ */
.nlm-section{position:relative;z-index:2;padding:84px 6%}
.nlm-section-inner{max-width:1280px;margin:0 auto;position:relative;z-index:2}
.nlm-glowline{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--blue-bright) 40%,transparent),transparent);z-index:3}
.nlm-conic{position:absolute;width:600px;height:600px;z-index:0;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(43,134,217,.06) 60deg,rgba(124,84,224,.04) 130deg,transparent 210deg);animation:nlmConic 34s linear infinite}
.nlm-conic.tr{top:-220px;right:-200px}
.nlm-conic.bl{bottom:-220px;left:-200px;animation-direction:reverse}
@media(max-width:700px){.nlm-conic{display:none}}
.nlm-label2{font-family:var(--f-accent);font-size:12px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--txt-mute);display:inline-flex;align-items:center;gap:13px}
.nlm-label2::before{content:'';width:30px;height:2px;background:var(--blue-bright);opacity:.78;flex-shrink:0}
.nlm-label2.warm::before{background:var(--yellow)}
.nlm-label2.teal::before{background:var(--teal)}
.nlm-label2.viol::before{background:var(--violet)}
.nlm-bigtitle{font-family:var(--f-display);font-weight:600;font-size:clamp(38px,5.1vw,78px);line-height:.9;letter-spacing:.5px;text-transform:uppercase;
  color:color-mix(in srgb,var(--txt-strong) 18%,transparent);border-bottom:2px solid var(--line);padding-bottom:6px;display:inline-block}
.nlm-bigtitle b{font-weight:600;color:color-mix(in srgb,var(--blue) 82%,transparent)}
.nlm-bigtitle.warm{border-bottom-color:color-mix(in srgb,var(--yellow) 30%,transparent)}
.nlm-bigtitle.warm b{color:var(--yellow)}
.nlm-bigtitle.teal b{color:var(--teal)} .nlm-bigtitle.teal{border-bottom-color:color-mix(in srgb,var(--teal) 30%,transparent)}
.nlm-bigtitle.viol b{color:var(--violet)} .nlm-bigtitle.viol{border-bottom-color:color-mix(in srgb,var(--violet) 30%,transparent)}
.nlm-sec-header{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:46px}
.nlm-sec-header .nlm-bigtitle{white-space:nowrap}
@media(max-width:600px){.nlm-sec-header .nlm-bigtitle{white-space:normal}}
.nlm-split-header{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:flex-end;margin-bottom:46px}
.nlm-split-header .col-head{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.nlm-split-header .col-head.right{align-items:flex-end;text-align:right;order:2}
.nlm-split-intro{font-size:clamp(13px,1.1vw,14.5px);font-weight:400;font-style:italic;color:var(--txt);line-height:1.8;text-align:justify}
.nlm-split-intro b{font-style:normal;font-weight:600;color:var(--txt-strong)}
@media(max-width:820px){.nlm-split-header{grid-template-columns:1fr;gap:18px;align-items:start}.nlm-split-header .col-head.right{align-items:flex-start;text-align:left;order:0}}
.nlm-sub{font-size:clamp(14px,1.1vw,16px);font-weight:400;color:var(--txt);line-height:1.75;max-width:620px;margin-top:16px}
.nlm-sub b{font-weight:600;color:var(--txt-strong)}

/* ══════════ PROMISE (split + hub mockup) ══════════ */
.nlm-promise{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;min-height:520px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--promise-bg)}
.nlm-promise-text{position:relative;z-index:2;padding:74px 4% 74px 6%;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.nlm-promise-text .nlm-label2{margin-bottom:18px}
.nlm-promise-title{font-family:var(--f-display);font-weight:600;font-size:clamp(34px,3.9vw,58px);line-height:.92;letter-spacing:.5px;text-transform:uppercase;color:var(--txt-strong);margin-bottom:26px}
.nlm-promise-title b{font-weight:600;color:var(--blue)}
.nlm-promise-para{font-size:clamp(13px,1.05vw,14.5px);font-weight:400;font-style:italic;color:var(--txt);line-height:1.8;margin-bottom:16px;text-align:justify}
.nlm-promise-para:last-child{margin-bottom:0}
.nlm-promise-para b{font-style:normal;font-weight:600;color:var(--txt-strong)}
.nlm-promise-visual{position:relative;z-index:2;padding:74px 6% 74px 4%;display:flex;align-items:center;justify-content:center;overflow:visible}
@media(max-width:900px){.nlm-promise{grid-template-columns:1fr}.nlm-promise-text{padding:56px 7% 48px;border-right:none;border-bottom:1px solid var(--line)}.nlm-promise-visual{padding:62px 7% 70px}}
.nlm-hub{position:relative;width:100%;max-width:430px}
.nlm-hub-chip{position:absolute;background:rgba(6,16,38,.97);border:1px solid rgba(80,178,253,.3);padding:10px 16px;z-index:10;box-shadow:0 12px 32px rgba(0,0,0,.45),0 0 20px rgba(80,178,253,.08);backdrop-filter:blur(8px)}
.nlm-hub-chip.tr{top:-22px;right:-12px;animation:nlmFloatChip 4.2s ease-in-out infinite}
.nlm-hub-chip.bl{bottom:-22px;left:-12px;animation:nlmFloatChip 4.2s ease-in-out infinite reverse}
@keyframes nlmFloatChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.nlm-hub-chip__v{font-family:var(--f-display);font-weight:600;font-size:24px;line-height:1}
.nlm-hub-chip.tr .nlm-hub-chip__v{color:#50B2FD}
.nlm-hub-chip.bl .nlm-hub-chip__v{color:#3f86d4}
.nlm-hub-chip__l{font-family:var(--f-accent);font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(180,200,230,.6);margin-top:3px}
.nlm-hub-screen{background:var(--screen-bg);border:1px solid var(--screen-line);padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.35),0 0 0 1px rgba(80,178,253,.06)}
.nlm-hub-bar{display:flex;gap:5px;align-items:center;margin-bottom:14px}
.nlm-hub-bdot{width:8px;height:8px;border-radius:50%}
.nlm-hub-bdot:nth-child(1){background:rgba(255,80,80,.7)}.nlm-hub-bdot:nth-child(2){background:rgba(255,200,0,.7)}.nlm-hub-bdot:nth-child(3){background:rgba(63,134,212,.8)}
.nlm-hub-url{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:4px 10px;font-family:var(--f-accent);font-size:10px;color:rgba(180,200,230,.5);letter-spacing:.5px}
.nlm-hub-sep{height:1px;background:linear-gradient(90deg,transparent,rgba(80,178,253,.25),rgba(255,213,51,.18),rgba(169,101,247,.22),transparent);margin-bottom:12px}
.nlm-hub-rows{display:flex;flex-direction:column;gap:6px}
.nlm-hub-row{display:flex;align-items:center;gap:11px;padding:10px 12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}
.nlm-hub-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px}
.nlm-hub-row::after{content:'';position:absolute;inset:0;pointer-events:none}
.nlm-hub-row[data-c="b"]::before{background:rgba(80,178,253,.78)}.nlm-hub-row[data-c="b"]::after{background:linear-gradient(90deg,rgba(80,178,253,.05),transparent 60%)}
.nlm-hub-row[data-c="t"]::before{background:rgba(63,134,212,.78)}.nlm-hub-row[data-c="t"]::after{background:linear-gradient(90deg,rgba(63,134,212,.05),transparent 60%)}
.nlm-hub-row[data-c="y"]::before{background:rgba(255,213,51,.78)}.nlm-hub-row[data-c="y"]::after{background:linear-gradient(90deg,rgba(255,213,51,.05),transparent 60%)}
.nlm-hub-row[data-c="v"]::before{background:rgba(169,101,247,.78)}.nlm-hub-row[data-c="v"]::after{background:linear-gradient(90deg,rgba(169,101,247,.05),transparent 60%)}
.nlm-hub-ico{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);flex-shrink:0;font-size:12px;position:relative;z-index:1}
.nlm-hub-row[data-c="b"] .nlm-hub-ico{color:rgba(80,178,253,.9);border-color:rgba(80,178,253,.3);background:rgba(80,178,253,.07)}
.nlm-hub-row[data-c="t"] .nlm-hub-ico{color:rgba(63,134,212,.9);border-color:rgba(63,134,212,.3);background:rgba(63,134,212,.07)}
.nlm-hub-row[data-c="y"] .nlm-hub-ico{color:rgba(255,213,51,.9);border-color:rgba(255,213,51,.3);background:rgba(255,213,51,.07)}
.nlm-hub-row[data-c="v"] .nlm-hub-ico{color:rgba(169,101,247,.9);border-color:rgba(169,101,247,.3);background:rgba(169,101,247,.07)}
.nlm-hub-txt{flex:1;min-width:0;position:relative;z-index:1}
.nlm-hub-name{font-family:var(--f-body);font-size:11.5px;font-weight:700;color:rgba(225,235,250,.9);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nlm-hub-state{font-family:var(--f-body);font-size:9px;font-weight:300;font-style:italic;color:rgba(175,195,225,.55);letter-spacing:.3px}
.nlm-hub-sw{width:30px;height:16px;border-radius:9px;flex-shrink:0;position:relative;z-index:1;background:rgba(255,255,255,.1);transition:background .3s}
.nlm-hub-sw::after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#cdd6e6;transition:left .3s,background .3s}
.nlm-hub-sw.on::after{left:16px}
.nlm-hub-row[data-c="b"] .nlm-hub-sw.on{background:rgba(80,178,253,.55)}.nlm-hub-row[data-c="b"] .nlm-hub-sw.on::after{background:#fff}
.nlm-hub-row[data-c="t"] .nlm-hub-sw.on{background:rgba(63,134,212,.55)}.nlm-hub-row[data-c="t"] .nlm-hub-sw.on::after{background:#fff}
.nlm-hub-row[data-c="y"] .nlm-hub-sw.on{background:rgba(255,213,51,.5)}.nlm-hub-row[data-c="y"] .nlm-hub-sw.on::after{background:#fff}
.nlm-hub-row[data-c="v"] .nlm-hub-sw.on{background:rgba(169,101,247,.55)}.nlm-hub-row[data-c="v"] .nlm-hub-sw.on::after{background:#fff}
@media(max-width:600px){.nlm-hub{margin:18px 14px;max-width:calc(100% - 28px)}.nlm-hub-chip{padding:8px 12px}.nlm-hub-chip__v{font-size:20px}}

/* ══════════ PRIVACY pills ══════════ */
.nlm-privacy{background:var(--privacy-bg)}
.nlm-pill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:880px){.nlm-pill-grid{grid-template-columns:1fr}}
.nlm-pill{position:relative;z-index:1;overflow:hidden;padding:46px 34px 42px;
  background:radial-gradient(circle at 50% -25%,color-mix(in srgb,var(--c,#2b86d9) 9%,transparent),transparent 62%),var(--surface);
  transition:background .35s,transform .45s var(--ease-out),box-shadow .4s,opacity .8s var(--ease-out)}
.nlm-pill:hover{transform:translateY(-5px);box-shadow:var(--card-shadow),0 0 0 1px color-mix(in srgb,var(--c,#2b86d9) 22%,transparent);
  background:radial-gradient(circle at 50% -25%,color-mix(in srgb,var(--c,#2b86d9) 15%,transparent),transparent 62%),var(--panel-2)}
.nlm-pill::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;z-index:3;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out);
  background:linear-gradient(90deg,var(--c,#2b86d9),color-mix(in srgb,var(--c,#2b86d9) 40%,transparent),transparent)}
.nlm-pill:hover::before{transform:scaleX(1)}
.nlm-pill::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:46%;z-index:-1;pointer-events:none;transform:skewX(-18deg);opacity:0;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c,#2b86d9) 13%,transparent),transparent)}
.nlm-pill:hover::after{opacity:1;animation:nlmSheen .95s var(--ease-out)}
@keyframes nlmSheen{0%{left:-60%}100%{left:135%}}
.nlm-pill__ico{position:relative;width:64px;height:64px;margin-bottom:22px;display:flex;align-items:center;justify-content:center;font-size:26px;z-index:2;color:var(--c,#2b86d9);transition:transform .45s var(--ease-out)}
.nlm-pill__ico::before{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(145deg,color-mix(in srgb,var(--c,#2b86d9) 26%,transparent),color-mix(in srgb,var(--c,#2b86d9) 4%,transparent));
  border:1px solid color-mix(in srgb,var(--c,#2b86d9) 40%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--c,#2b86d9) 22%,transparent),0 10px 26px -16px var(--c,#2b86d9);transition:box-shadow .45s,border-color .45s}
.nlm-pill__ico::after{content:'';position:absolute;inset:-9px;z-index:0;border-radius:7px;opacity:0;filter:blur(8px);
  background:conic-gradient(from 0deg,transparent,var(--c,#2b86d9),transparent 58%);transition:opacity .5s}
.nlm-pill__ico i{position:relative;z-index:2;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--c,#2b86d9) 45%,transparent));transition:transform .45s var(--ease-out)}
.nlm-pill:hover .nlm-pill__ico{transform:translateY(-5px)}
.nlm-pill:hover .nlm-pill__ico i{transform:scale(1.14) rotate(-3deg)}
.nlm-pill:hover .nlm-pill__ico::before{border-color:color-mix(in srgb,var(--c,#2b86d9) 60%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--c,#2b86d9) 35%,transparent),0 16px 34px -14px var(--c,#2b86d9)}
.nlm-pill:hover .nlm-pill__ico::after{opacity:.9;animation:nlmConic 5s linear infinite}
.nlm-pill__title{font-family:var(--f-display);font-weight:500;font-size:23px;color:var(--txt-strong);margin-bottom:13px;position:relative;z-index:2;line-height:1.1;transition:color .25s}
.nlm-pill:hover .nlm-pill__title{color:var(--blue)}
.nlm-pill__desc{font-size:13.5px;font-weight:400;line-height:1.78;color:var(--txt);position:relative;z-index:2}
.nlm-pill__desc b{font-weight:600;color:var(--txt-strong)}

/* ══════════ LIGHTING signature ══════════ */
.nlm-lighting{position:relative;overflow:hidden;padding:96px 6% 100px;background:var(--lighting-bg)}
.nlm-lighting-aura{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.nlm-aura-blob{position:absolute;border-radius:50%;filter:blur(90px);mix-blend-mode:screen;will-change:transform,opacity}
.nlm-aura-blob.a{width:60%;height:70%;top:-10%;left:-8%;background:radial-gradient(circle,rgba(255,180,60,.4),transparent 70%);animation:nlmAura1 14s ease-in-out infinite}
.nlm-aura-blob.b{width:55%;height:65%;bottom:-12%;right:-6%;background:radial-gradient(circle,rgba(169,101,247,.32),transparent 70%);animation:nlmAura2 17s ease-in-out infinite}
.nlm-aura-blob.c{width:45%;height:55%;top:30%;left:35%;background:radial-gradient(circle,rgba(255,213,51,.3),transparent 70%);animation:nlmAura3 20s ease-in-out infinite}
.nlm-aura-blob.d{width:40%;height:50%;bottom:6%;left:8%;background:radial-gradient(circle,rgba(80,178,253,.25),transparent 70%);animation:nlmAura2 22s ease-in-out infinite reverse}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) .nlm-aura-blob.a{background:radial-gradient(circle,rgba(255,170,40,.5),transparent 70%)}
  html:not(.vis-light) .nlm-aura-blob.b{background:radial-gradient(circle,rgba(169,101,247,.45),transparent 70%)}
  html:not(.vis-light) .nlm-aura-blob.c{background:radial-gradient(circle,rgba(255,213,51,.4),transparent 70%)}
  html:not(.vis-light) .nlm-aura-blob.d{background:radial-gradient(circle,rgba(80,178,253,.3),transparent 70%)}
}

  html.vis-dark .nlm-aura-blob.a{background:radial-gradient(circle,rgba(255,170,40,.5),transparent 70%)}
  html.vis-dark .nlm-aura-blob.b{background:radial-gradient(circle,rgba(169,101,247,.45),transparent 70%)}
  html.vis-dark .nlm-aura-blob.c{background:radial-gradient(circle,rgba(255,213,51,.4),transparent 70%)}
  html.vis-dark .nlm-aura-blob.d{background:radial-gradient(circle,rgba(80,178,253,.3),transparent 70%)}


@keyframes nlmAura1{0%,100%{transform:translate(0,0) scale(1);opacity:.7}50%{transform:translate(8%,6%) scale(1.18);opacity:1}}
@keyframes nlmAura2{0%,100%{transform:translate(0,0) scale(1);opacity:.6}50%{transform:translate(-7%,-5%) scale(1.2);opacity:.95}}
@keyframes nlmAura3{0%,100%{transform:translate(0,0) scale(1);opacity:.55}50%{transform:translate(-9%,7%) scale(1.25);opacity:.9}}
.nlm-lighting-rays{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.4;
  background:repeating-linear-gradient(115deg,transparent 0,transparent 90px,rgba(201,138,22,.06) 90px,rgba(201,138,22,.06) 91px);
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 60% 30%,#000,transparent 75%);
  mask-image:radial-gradient(ellipse 90% 80% at 60% 30%,#000,transparent 75%)}
.nlm-lighting .nlm-section-inner{max-width:1280px}
.nlm-grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:color-mix(in srgb,var(--yellow) 16%,transparent);border:1px solid color-mix(in srgb,var(--yellow) 20%,transparent)}
@media(max-width:820px){.nlm-grid6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.nlm-grid6{grid-template-columns:1fr}}
.nlm-lcard{position:relative;z-index:1;padding:40px 30px 38px;overflow:hidden;background:var(--surface);backdrop-filter:blur(3px);
  transition:background .35s,transform .45s var(--ease-out),box-shadow .4s,opacity .8s var(--ease-out)}
@media (prefers-color-scheme:dark){html:not(.vis-light) .nlm-lcard{background:linear-gradient(155deg,rgba(18,12,6,.72),rgba(14,9,24,.72))}}
html.vis-dark .nlm-lcard{background:linear-gradient(155deg,rgba(18,12,6,.72),rgba(14,9,24,.72))}

.nlm-lcard:hover{transform:translateY(-5px);box-shadow:var(--card-shadow),0 0 0 1px color-mix(in srgb,var(--yellow) 24%,transparent)}
.nlm-lcard::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;z-index:3;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out);background:linear-gradient(90deg,var(--yellow),transparent)}
.nlm-lcard:hover::after{transform:scaleX(1)}
.nlm-lcard::before{content:'';position:absolute;top:0;bottom:0;left:-60%;width:46%;z-index:-1;pointer-events:none;transform:skewX(-18deg);opacity:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--yellow) 14%,transparent),transparent)}
.nlm-lcard:hover::before{opacity:1;animation:nlmSheen .95s var(--ease-out)}
.nlm-lcard__num{position:absolute;bottom:6px;right:14px;font-family:var(--f-display);font-weight:700;font-size:84px;line-height:1;z-index:0;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--yellow) 16%,transparent);transition:-webkit-text-stroke-color .35s}
.nlm-lcard:hover .nlm-lcard__num{-webkit-text-stroke-color:color-mix(in srgb,var(--yellow) 36%,transparent)}
.nlm-lcard__ico{position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:18px;z-index:1;color:var(--yellow);transition:transform .45s var(--ease-out)}
.nlm-lcard__ico::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,color-mix(in srgb,var(--yellow) 26%,transparent),color-mix(in srgb,var(--yellow) 4%,transparent));border:1px solid color-mix(in srgb,var(--yellow) 40%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--yellow) 22%,transparent),0 10px 26px -16px var(--yellow);transition:box-shadow .45s,border-color .45s}
.nlm-lcard__ico::after{content:'';position:absolute;inset:-9px;z-index:0;border-radius:7px;opacity:0;filter:blur(8px);background:conic-gradient(from 0deg,transparent,var(--yellow),transparent 58%);transition:opacity .5s}
.nlm-lcard__ico i{position:relative;z-index:2;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--yellow) 50%,transparent));transition:transform .45s var(--ease-out)}
.nlm-lcard:hover .nlm-lcard__ico{transform:translateY(-5px)}
.nlm-lcard:hover .nlm-lcard__ico i{transform:scale(1.14) rotate(-3deg)}
.nlm-lcard:hover .nlm-lcard__ico::before{border-color:color-mix(in srgb,var(--yellow) 60%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--yellow) 35%,transparent),0 16px 34px -14px var(--yellow)}
.nlm-lcard:hover .nlm-lcard__ico::after{opacity:.9;animation:nlmConic 5s linear infinite}
.nlm-lcard__title{font-family:var(--f-display);font-weight:500;font-size:21px;color:var(--txt-strong);margin-bottom:9px;position:relative;z-index:2;line-height:1.05}
.nlm-lcard__desc{font-size:13px;font-weight:400;line-height:1.68;color:var(--txt);position:relative;z-index:2;max-width:90%}

/* ══════════ PROCESS ══════════ */
.nlm-process{background:var(--process-bg)}
.nlm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:880px){.nlm-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.nlm-steps{grid-template-columns:1fr}}
.nlm-step{position:relative;z-index:1;background:var(--surface);padding:38px 28px 34px;overflow:hidden;transition:background .3s,transform .45s var(--ease-out),box-shadow .4s,opacity .8s var(--ease-out)}
.nlm-step:hover{background:var(--panel-2);transform:translateY(-5px);box-shadow:var(--card-shadow),0 0 0 1px color-mix(in srgb,var(--blue-bright) 20%,transparent)}
.nlm-step::before{content:'';position:absolute;top:0;bottom:0;left:-60%;width:46%;z-index:-1;pointer-events:none;transform:skewX(-18deg);opacity:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--blue-bright) 12%,transparent),transparent)}
.nlm-step:hover::before{opacity:1;animation:nlmSheen .95s var(--ease-out)}
.nlm-step__num{position:relative;z-index:2;font-family:var(--f-display);font-weight:700;font-size:30px;width:54px;height:54px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--blue),var(--blue-deep));border:1px solid color-mix(in srgb,var(--blue-bright) 30%,transparent);color:#fff;margin-bottom:20px;transition:transform .4s var(--ease-out),box-shadow .4s,border-color .4s}
.nlm-step:hover .nlm-step__num{transform:translateY(-4px) scale(1.06);border-color:var(--blue-bright);box-shadow:0 14px 30px -14px var(--blue-bright)}
.nlm-step__title{font-family:var(--f-display);font-weight:500;font-size:20px;color:var(--txt-strong);margin-bottom:10px;line-height:1.1}
.nlm-step__desc{font-size:13px;font-weight:400;line-height:1.68;color:var(--txt);margin-bottom:14px}
.nlm-step__link{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-accent);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);transition:gap .2s}
.nlm-step:hover .nlm-step__link{gap:12px}
.nlm-step__bg{position:absolute;bottom:-22px;right:-12px;font-size:96px;color:color-mix(in srgb,var(--txt-strong) 4%,transparent);z-index:0}

/* ══════════ CTA / CONTACT (profond = contraste premium) ══════════ */
.nlm-cta-sec{position:relative;overflow:hidden;background:var(--cta-bg);padding:88px 6% 100px;color:#eaf2ff}
.nlm-cta-sec .nlm-cta-title,.nlm-cta-sec .nlm-form h3{color:#fff}
.nlm-cta-orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
.nlm-cta-orb.a{width:520px;height:520px;top:-190px;left:50%;margin-left:-260px;background:conic-gradient(from 0deg,transparent 0deg,rgba(80,178,253,.1) 60deg,rgba(255,213,51,.05) 120deg,transparent 200deg);filter:none;animation:nlmConic 22s linear infinite}
.nlm-cta-orb.b{width:720px;height:720px;bottom:-260px;right:-160px;background:radial-gradient(circle,rgba(169,101,247,.18),transparent 70%);animation:nlmFloat2 22s ease-in-out infinite}
.nlm-cta-sec::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(1px 1px at 18% 28%,rgba(80,178,253,.6),transparent 100%),radial-gradient(1px 1px at 82% 68%,rgba(63,134,212,.45),transparent 100%),radial-gradient(2px 2px at 48% 52%,rgba(169,101,247,.5),transparent 100%),radial-gradient(2px 2px at 72% 22%,rgba(255,213,51,.4),transparent 100%),radial-gradient(2px 2px at 28% 78%,rgba(80,178,253,.32),transparent 100%)}
.nlm-cta-banner{position:relative;z-index:2;text-align:center;max-width:1100px;margin:0 auto 56px}
.nlm-cta-ghost{font-family:var(--f-display);font-weight:600;font-size:clamp(50px,7.4vw,116px);line-height:.86;letter-spacing:1px;text-transform:uppercase;color:rgba(206,222,245,.15);border-bottom:2px solid rgba(80,178,253,.18);padding-bottom:8px;display:inline-block;margin-bottom:16px}
.nlm-cta-ghost b{font-weight:600;color:rgba(80,178,253,.78)}
@media(max-width:600px){.nlm-cta-ghost{font-size:clamp(44px,13vw,76px)}}
.nlm-cta-bannersub{font-size:clamp(15px,1.5vw,20px);font-weight:700;color:rgba(228,238,255,.8)}
.nlm-cta-grid{position:relative;z-index:2;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
@media(max-width:920px){.nlm-cta-grid{grid-template-columns:1fr;gap:40px}}
.nlm-cta-eyebrow{font-family:var(--f-accent);font-size:12px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:#7fc1ff;margin-bottom:14px;display:inline-block}
.nlm-cta-title{font-family:var(--f-display);font-weight:600;font-size:clamp(36px,5vw,68px);line-height:1;text-transform:uppercase;margin-bottom:22px}
.nlm-cta-title b{font-weight:600;color:#7fc1ff}
.nlm-cta-bullets{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-bottom:30px}
@media(max-width:520px){.nlm-cta-bullets{grid-template-columns:1fr}}
.nlm-bullet{display:flex;align-items:center;gap:12px}
.nlm-bullet i{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:15px;color:#7fc1ff;background:rgba(80,178,253,.12);border:1px solid rgba(80,178,253,.3)}
.nlm-bullet span{font-size:14px;font-weight:500;color:#eaf2ff}
.nlm-contact-info{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.nlm-ci{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:#cfe0f5;font-weight:400}
.nlm-ci i{color:#7fc1ff}
.nlm-ci a{color:#cfe0f5;transition:color .2s}.nlm-ci a:hover{color:#7fc1ff}
.nlm-form{background:rgba(8,22,48,.7);border:1px solid rgba(80,178,253,.22);padding:34px;backdrop-filter:blur(10px);box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}
.nlm-form h3{font-family:var(--f-display);font-weight:500;font-size:24px;margin-bottom:6px}
.nlm-form p{font-size:13px;font-weight:400;color:#cfe0f5;margin-bottom:22px}
.nlm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media(max-width:520px){.nlm-form-row{grid-template-columns:1fr}}
.nlm-input{width:100%;background:rgba(2,12,31,.55);border:1px solid rgba(80,178,253,.18);padding:13px 16px;font-family:var(--f-body);font-size:14px;color:#eaf2ff;outline:none;transition:border-color .2s,background .2s}
.nlm-input::placeholder{color:rgba(150,175,210,.6)}
.nlm-input:focus{border-color:rgba(80,178,253,.6);background:rgba(4,18,42,.8)}
textarea.nlm-input{resize:vertical;min-height:96px;margin-bottom:16px}
.nlm-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-body);font-size:15px;font-weight:700;padding:16px;border:none;cursor:pointer;color:#021024;background:linear-gradient(135deg,#50B2FD,#48A3EB);box-shadow:0 12px 30px -10px #50B2FD;transition:transform .22s,box-shadow .22s,filter .22s}
.nlm-submit:hover{transform:translateY(-3px);filter:brightness(1.06);box-shadow:0 18px 38px -10px #50B2FD}
.nlm-submit i{font-size:14px}

@media(max-width:600px){.nlm-section{padding:64px 6%}.nlm-lighting{padding:64px 6% 70px}}
@media(min-width:901px){
  .nlm-split-header .nlm-bigtitle{white-space:nowrap;font-size:clamp(28px,3vw,40px)}
  .nlm-split-header{align-items:center}
  .nlm-desc,.nlm-feat__desc,.nlm-split-intro,.nlm-promise-para,.nlm-sub,.nlm-pill__desc,.nlm-lcard__desc,.nlm-step__desc{text-align:justify}
}

/* ════════════════════════════════════════════════════════════════════════
   COUCHE D'INVERSION CLAIR — pages bespoke à CSS inline conservé
   (services 2393, about 2362, contact 5444, news 10072).
   Le markup de ces pages garde son <style> (donc le SOMBRE reste le design
   d'origine, intact). En CLAIR uniquement, on : (1) bascule le vocabulaire de
   tokens en clair (!important pour battre l'inline), (2) éclaircit les fonds
   de SECTIONS sombres hardcodés (le texte dessus est token → devient encre),
   (3) éclaircit cartes/inputs à texte-token, (4) garde en îlots SOMBRES les
   "device mockups" (timeline about, hub) qui hardcodent leur propre texte clair,
   (5) garde les bandes CTA sombres mais force leur texte en clair.
   ════════════════════════════════════════════════════════════════════════ */
@media (prefers-color-scheme:light){
  html:not(.vis-dark) .nlm-root{
    --blue:#1f6fc2!important;--blue-bright:#2b86d9!important;--blue-light:#48A3EB!important;
    --blue-deep:#05255f!important;--blue-dark1:#0a3a73!important;--blue-dark2:#05255f!important;
    --teal:#16487f!important;--yellow:#c98a16!important;--violet:#7c54e0!important;--grey:#8a96ad!important;--gold:#c9a45a!important;
    --bg-0:#f5f8fd!important;--bg-1:#eaf1fb!important;--surface:#ffffff!important;
    --panel:rgba(255,255,255,.86)!important;--panel-2:#ffffff!important;
    --line:rgba(11,27,51,.10)!important;--line-soft:rgba(11,27,51,.06)!important;
    --txt:rgba(36,52,77,.92)!important;--txt-strong:rgba(11,27,51,.98)!important;--txt-mute:rgba(70,90,120,.62)!important;
    background:#f5f8fd!important;color:rgba(36,52,77,.92)!important;
  }
  /* (2) fonds de sections sombres hardcodés → clair (texte token = encre, lisible) */
  html:not(.vis-dark) .nlm-root .nlm-head, html:not(.vis-dark) .nlm-root .nlm-hero2, html:not(.vis-dark) .nlm-root .nlm-contact, html:not(.vis-dark) .nlm-root .nlm-c-stage{
    background:radial-gradient(ellipse 70% 80% at 92% 0%,rgba(43,134,217,.12) 0%,transparent 55%),linear-gradient(160deg,#eaf2fd 0%,#f5f8fd 65%,#e7f0fb 100%)!important}
  html:not(.vis-dark) .nlm-root .nlm-cat-lig{background:linear-gradient(180deg,#fbf3e4 0%,#f3eefb 55%,#eef3fd 100%)!important}
  html:not(.vis-dark) .nlm-root .nlm-cat-sec{background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(22,72,127,.08),transparent 60%),linear-gradient(180deg,#ffffff,#eef4fc)!important}
  html:not(.vis-dark) .nlm-root .nlm-reviews, html:not(.vis-dark) .nlm-root .nlm-faq{background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(43,134,217,.08),transparent 60%),linear-gradient(180deg,#ffffff,#eef4fc)!important}
  /* (3) cartes / inputs à texte token → surfaces claires */
  html:not(.vis-dark) .nlm-root .nlm-jump, html:not(.vis-dark) .nlm-root .nlm-c-item, html:not(.vis-dark) .nlm-root .nlm-c-card, html:not(.vis-dark) .nlm-root .nlm-stat, html:not(.vis-dark) .nlm-root .nlm-identity-right{
    background:#ffffff!important;border-color:rgba(11,27,51,.10)!important;box-shadow:0 18px 40px -28px rgba(11,27,51,.35)!important}
  html:not(.vis-dark) .nlm-root .nlm-c-in{background:#f3f7fc!important;color:#0b1b33!important;border-color:rgba(11,27,51,.14)!important}
  html:not(.vis-dark) .nlm-root .nlm-c-in::placeholder{color:rgba(70,90,120,.6)!important}
  /* (4) "timeline" de la hero2 (about) : panneau CLAIR intégré (réf. Visuance), fini le bandeau sombre leftover */
  html:not(.vis-dark) .nlm-root .nlm-hero2-tl{background:rgba(255,255,255,.58)!important;border:1px solid rgba(11,27,51,.09)!important;border-radius:4px;
    padding:16px 22px!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 46px -30px rgba(11,27,51,.32)}
  html:not(.vis-dark) .nlm-root .nlm-hero2-tl-tracks{background:transparent!important}
  html:not(.vis-dark) .nlm-root .nlm-hero2-tl-lbl, html:not(.vis-dark) .nlm-root .nlm-hero2-tl-time, html:not(.vis-dark) .nlm-root .nlm-hero2-tl-tc{color:rgba(36,52,77,.72)!important}
  html:not(.vis-dark) .nlm-root .nlm-hero2-tl-bar{background:rgba(11,27,51,.08)!important}
  /* ghost bigtitle (ex. « EXPERT EN DOMOTIQUE ») : filigrane visible sur fond clair (était light-sur-light) */
  html:not(.vis-dark) .nlm-root .nlm-bigtitle{color:rgba(11,27,51,.20)!important}
  /* (5) bandes CTA : restent sombres ; TOUT le texte forcé clair (corrige le <b> invisible) */
  html:not(.vis-dark) .nlm-root .nlm-cta-sec{background:linear-gradient(180deg,#0a1f3f,#05132b)!important}
  html:not(.vis-dark) .nlm-root .nlm-cta-title, html:not(.vis-dark) .nlm-root .nlm-cta-inner h2, html:not(.vis-dark) .nlm-root .nlm-cta-sub, html:not(.vis-dark) .nlm-root .nlm-cta-inner p, html:not(.vis-dark) .nlm-root .nlm-cta-bannersub, html:not(.vis-dark) .nlm-root .nlm-bullet span, html:not(.vis-dark) .nlm-root .nlm-ci, html:not(.vis-dark) .nlm-root .nlm-ci a, html:not(.vis-dark) .nlm-root .nlm-cta-info, html:not(.vis-dark) .nlm-root .nlm-cta-info a, html:not(.vis-dark) .nlm-root .nlm-cta-sec p{color:#d7e6fb!important}
  html:not(.vis-dark) .nlm-root .nlm-cta-sub b, html:not(.vis-dark) .nlm-root .nlm-cta-inner p b, html:not(.vis-dark) .nlm-root .nlm-cta-sec p b, html:not(.vis-dark) .nlm-root .nlm-cta-title b, html:not(.vis-dark) .nlm-root .nlm-cta-eyebrow, html:not(.vis-dark) .nlm-root .nlm-bullet i, html:not(.vis-dark) .nlm-root .nlm-ci i, html:not(.vis-dark) .nlm-root .nlm-cta-info i{color:#7fc1ff!important}
}

  html.vis-light .nlm-root{
    --blue:#1f6fc2!important;--blue-bright:#2b86d9!important;--blue-light:#48A3EB!important;
    --blue-deep:#05255f!important;--blue-dark1:#0a3a73!important;--blue-dark2:#05255f!important;
    --teal:#16487f!important;--yellow:#c98a16!important;--violet:#7c54e0!important;--grey:#8a96ad!important;--gold:#c9a45a!important;
    --bg-0:#f5f8fd!important;--bg-1:#eaf1fb!important;--surface:#ffffff!important;
    --panel:rgba(255,255,255,.86)!important;--panel-2:#ffffff!important;
    --line:rgba(11,27,51,.10)!important;--line-soft:rgba(11,27,51,.06)!important;
    --txt:rgba(36,52,77,.92)!important;--txt-strong:rgba(11,27,51,.98)!important;--txt-mute:rgba(70,90,120,.62)!important;
    background:#f5f8fd!important;color:rgba(36,52,77,.92)!important;
  }
  /* (2) fonds de sections sombres hardcodés → clair (texte token = encre, lisible) */
  html.vis-light .nlm-root .nlm-head, html.vis-light .nlm-root .nlm-hero2, html.vis-light .nlm-root .nlm-contact, html.vis-light .nlm-root .nlm-c-stage{
    background:radial-gradient(ellipse 70% 80% at 92% 0%,rgba(43,134,217,.12) 0%,transparent 55%),linear-gradient(160deg,#eaf2fd 0%,#f5f8fd 65%,#e7f0fb 100%)!important}
  html.vis-light .nlm-root .nlm-cat-lig{background:linear-gradient(180deg,#fbf3e4 0%,#f3eefb 55%,#eef3fd 100%)!important}
  html.vis-light .nlm-root .nlm-cat-sec{background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(22,72,127,.08),transparent 60%),linear-gradient(180deg,#ffffff,#eef4fc)!important}
  html.vis-light .nlm-root .nlm-reviews, html.vis-light .nlm-root .nlm-faq{background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(43,134,217,.08),transparent 60%),linear-gradient(180deg,#ffffff,#eef4fc)!important}
  /* (3) cartes / inputs à texte token → surfaces claires */
  html.vis-light .nlm-root .nlm-jump, html.vis-light .nlm-root .nlm-c-item, html.vis-light .nlm-root .nlm-c-card, html.vis-light .nlm-root .nlm-stat, html.vis-light .nlm-root .nlm-identity-right{
    background:#ffffff!important;border-color:rgba(11,27,51,.10)!important;box-shadow:0 18px 40px -28px rgba(11,27,51,.35)!important}
  html.vis-light .nlm-root .nlm-c-in{background:#f3f7fc!important;color:#0b1b33!important;border-color:rgba(11,27,51,.14)!important}
  html.vis-light .nlm-root .nlm-c-in::placeholder{color:rgba(70,90,120,.6)!important}
  /* (4) "timeline" de la hero2 (about) : panneau CLAIR intégré (réf. Visuance), fini le bandeau sombre leftover */
  html.vis-light .nlm-root .nlm-hero2-tl{background:rgba(255,255,255,.58)!important;border:1px solid rgba(11,27,51,.09)!important;border-radius:4px;
    padding:16px 22px!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 46px -30px rgba(11,27,51,.32)}
  html.vis-light .nlm-root .nlm-hero2-tl-tracks{background:transparent!important}
  html.vis-light .nlm-root .nlm-hero2-tl-lbl, html.vis-light .nlm-root .nlm-hero2-tl-time, html.vis-light .nlm-root .nlm-hero2-tl-tc{color:rgba(36,52,77,.72)!important}
  html.vis-light .nlm-root .nlm-hero2-tl-bar{background:rgba(11,27,51,.08)!important}
  /* ghost bigtitle (ex. « EXPERT EN DOMOTIQUE ») : filigrane visible sur fond clair (était light-sur-light) */
  html.vis-light .nlm-root .nlm-bigtitle{color:rgba(11,27,51,.20)!important}
  /* (5) bandes CTA : restent sombres ; TOUT le texte forcé clair (corrige le <b> invisible) */
  html.vis-light .nlm-root .nlm-cta-sec{background:linear-gradient(180deg,#0a1f3f,#05132b)!important}
  html.vis-light .nlm-root .nlm-cta-title, html.vis-light .nlm-root .nlm-cta-inner h2, html.vis-light .nlm-root .nlm-cta-sub, html.vis-light .nlm-root .nlm-cta-inner p, html.vis-light .nlm-root .nlm-cta-bannersub, html.vis-light .nlm-root .nlm-bullet span, html.vis-light .nlm-root .nlm-ci, html.vis-light .nlm-root .nlm-ci a, html.vis-light .nlm-root .nlm-cta-info, html.vis-light .nlm-root .nlm-cta-info a, html.vis-light .nlm-root .nlm-cta-sec p{color:#d7e6fb!important}
  html.vis-light .nlm-root .nlm-cta-sub b, html.vis-light .nlm-root .nlm-cta-inner p b, html.vis-light .nlm-root .nlm-cta-sec p b, html.vis-light .nlm-root .nlm-cta-title b, html.vis-light .nlm-root .nlm-cta-eyebrow, html.vis-light .nlm-root .nlm-bullet i, html.vis-light .nlm-root .nlm-ci i, html.vis-light .nlm-root .nlm-cta-info i{color:#7fc1ff!important}



/* ════════════════════════════════════════════════════════════════════════
   BLOG / ARTICLES / TEMPLATES DE THÈME (servis par template_include du plugin)
   Composants "News" portés en global (token-driven → clair+sombre auto).
   ════════════════════════════════════════════════════════════════════════ */
/* full-width + suppression sidebar/titlebar quand un template Nilume rend la page */
body.nlm-tmpl #content,body.nlm-tmpl #content-inner,body.nlm-tmpl .site-content,
body.nlm-tmpl .site-content-inner,body.nlm-tmpl #primary,body.nlm-tmpl .content-area{
  max-width:none!important;width:100%!important;padding:0!important;margin:0!important;float:none!important}
body.nlm-tmpl #secondary,body.nlm-tmpl .widget-area,body.nlm-tmpl .sidebar{display:none!important}
body.nlm-tmpl .cmt-titlebar,body.nlm-tmpl .titlebar,body.nlm-tmpl #titlebar,body.nlm-tmpl .page-title-bar{display:none!important}

.nlm-head{position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding:140px 6% 56px;background:var(--hero-bg)}
.nlm-head-inner{position:relative;z-index:2;max-width:980px;margin:0 auto}
.nlm-head .nlm-grain,.nlm-head .nlm-gridlines{z-index:1}
.nlm-crumb{font-family:var(--f-accent);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--txt-mute);margin-bottom:18px}
.nlm-crumb a{color:var(--txt-mute);transition:color .2s}.nlm-crumb a:hover{color:var(--blue)}
.nlm-crumb i{font-size:9px;margin:0 9px;color:color-mix(in srgb,var(--blue) 55%,transparent)}
.nlm-crumb .cur{color:var(--blue)}
.nlm-head-eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--f-accent);font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--blue);margin-bottom:13px}
.nlm-head-eyebrow::before{content:'';width:24px;height:2px;background:var(--blue);opacity:.8}
.nlm-head-title{font-family:var(--f-display);font-weight:600;font-size:clamp(40px,5.5vw,72px);line-height:.96;letter-spacing:.5px;text-transform:uppercase;color:var(--txt-strong)}
.nlm-head-title b{color:var(--blue)}
.nlm-head-desc{margin-top:18px;max-width:680px;font-size:clamp(14px,1.1vw,16px);font-weight:400;line-height:1.7;color:var(--txt)}

.nlm-list{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:54px 6% 90px}
.nlm-art{display:block;padding:28px 30px;border:1px solid var(--line);background:var(--surface);margin-bottom:16px;position:relative;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
.nlm-art::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c,#2b86d9);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease-out)}
.nlm-art:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--c,#2b86d9) 35%,transparent);transform:translateX(4px);box-shadow:var(--card-shadow)}
.nlm-art:hover::before{transform:scaleY(1)}
.nlm-art__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:11px}
.nlm-art__cat{font-family:var(--f-accent);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:var(--c,#2b86d9);padding:4px 11px}
.nlm-art__date{font-family:var(--f-accent);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--txt-mute);display:inline-flex;align-items:center;gap:7px}
.nlm-art__date i{color:var(--c,#2b86d9)}
.nlm-art__title{font-family:var(--f-display);font-weight:600;font-size:clamp(20px,2.4vw,27px);line-height:1.15;color:var(--txt-strong);margin-bottom:9px;transition:color .25s}
.nlm-art:hover .nlm-art__title{color:var(--blue)}
.nlm-art__excerpt{font-size:13.5px;font-weight:400;line-height:1.7;color:var(--txt);margin-bottom:15px}
.nlm-art__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-accent);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--c,#2b86d9);transition:gap .2s}
.nlm-art:hover .nlm-art__link{gap:13px}
.nlm-art__thumb{display:block;margin:-28px -30px 20px;max-height:300px;overflow:hidden;border-bottom:1px solid var(--line)}
.nlm-art__thumb img{width:100%;height:100%;object-fit:cover}

/* pagination */
.nlm-pagi{max-width:980px;margin:0 auto;padding:0 6% 90px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.nlm-pagi .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);background:var(--surface);color:var(--txt-strong);font-family:var(--f-accent);font-weight:700;transition:background .2s,color .2s,border-color .2s}
.nlm-pagi .page-numbers:hover{border-color:var(--blue);color:var(--blue)}
.nlm-pagi .page-numbers.current{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ── ARTICLE (single post) ── */
.nlm-article{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:54px 6% 84px;font-size:16.5px;line-height:1.8;color:var(--txt)}
.nlm-article > *{margin-bottom:1.15em}
.nlm-article p{font-weight:400;text-align:justify}
.nlm-article h2{font-family:var(--f-display);font-weight:600;font-size:clamp(26px,3vw,38px);line-height:1.1;color:var(--txt-strong);margin:1.5em 0 .5em;text-transform:none}
.nlm-article h3{font-family:var(--f-display);font-weight:500;font-size:clamp(21px,2.2vw,27px);color:var(--txt-strong);margin:1.3em 0 .4em}
.nlm-article a{color:var(--blue);border-bottom:1px solid color-mix(in srgb,var(--blue) 40%,transparent);transition:border-color .2s}
.nlm-article a:hover{border-bottom-color:var(--blue)}
.nlm-article strong{color:var(--txt-strong);font-weight:600}
.nlm-article img{width:100%;height:auto;margin:1.6em 0;border:1px solid var(--line)}
.nlm-article ul,.nlm-article ol{padding-left:1.4em}
.nlm-article li{margin-bottom:.5em}
.nlm-article blockquote{border-left:3px solid var(--blue);padding:6px 0 6px 22px;margin:1.6em 0;font-style:italic;color:var(--txt-strong)}
.nlm-article figure{margin:1.6em 0}
.nlm-article figcaption{font-size:13px;color:var(--txt-mute);text-align:center;margin-top:8px}
.nlm-backlink{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-accent);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.nlm-backlink i{transition:transform .2s}.nlm-backlink:hover i{transform:translateX(-4px)}
@media(max-width:600px){.nlm-head{padding:120px 6% 44px}.nlm-art{padding:22px 20px}.nlm-art__thumb{margin:-22px -20px 18px}}

/* ════════════════════════════════════════════════════════════════════════
   SKIN WOOCOMMERCE + CPT (prestations cmt_service, réalisations cmt_portfolio,
   testimonials cmt_team_member) — pages rendues par Devfox. On NE touche pas
   header/footer (déjà cohérents) : skin ciblé sur le contenu + Woo, avec tokens
   locaux clair/sombre. Boutons, cartes produits, prix, titres → design Nilume.
   ════════════════════════════════════════════════════════════════════════ */
body.nlm-skin{
  --nlm-blue:#1f6fc2;--nlm-blue-b:#2b86d9;--nlm-ink:#0b1b33;--nlm-soft:#41526b;
  --nlm-bg:#f5f8fd;--nlm-surface:#ffffff;--nlm-line:rgba(11,27,51,.10);--nlm-mut:rgba(70,90,120,.62);
  --nlm-disp:'Oswald',sans-serif;--nlm-body:'Outfit',sans-serif;
}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) body.nlm-skin{--nlm-blue:#50B2FD;--nlm-blue-b:#50B2FD;--nlm-ink:#e8f2ff;--nlm-soft:#b9cae6;
    --nlm-bg:#04132c;--nlm-surface:#0a1f3f;--nlm-line:rgba(80,178,253,.16);--nlm-mut:rgba(150,175,210,.6)}
}

  html.vis-dark body.nlm-skin{--nlm-blue:#50B2FD;--nlm-blue-b:#50B2FD;--nlm-ink:#e8f2ff;--nlm-soft:#b9cae6;
    --nlm-bg:#04132c;--nlm-surface:#0a1f3f;--nlm-line:rgba(80,178,253,.16);--nlm-mut:rgba(150,175,210,.6)}



/* contenu CPT + boutique : fond clair + typo premium */
body.nlm-skin.woocommerce-page #content,body.nlm-skin.woocommerce #content,
body.nlm-skin.single-cmt_service #content,body.nlm-skin.single-cmt_portfolio #content,
body.nlm-skin.single-cmt_team_member #content,body.nlm-skin.post-type-archive-product #content{
  background:var(--nlm-bg);font-family:var(--nlm-body);color:var(--nlm-soft)}
body.nlm-skin.woocommerce #content h1,body.nlm-skin.woocommerce #content h2,body.nlm-skin.woocommerce #content h3,
body.nlm-skin.single-cmt_service #content h1,body.nlm-skin.single-cmt_service #content h2,body.nlm-skin.single-cmt_service #content h3,
body.nlm-skin.single-cmt_portfolio #content h1,body.nlm-skin.single-cmt_portfolio #content h2,
body.nlm-skin.single-cmt_team_member #content h1,body.nlm-skin.single-cmt_team_member #content h2{
  font-family:var(--nlm-disp);color:var(--nlm-ink);font-weight:600;letter-spacing:.3px}
body.nlm-skin.woocommerce #content a:not(.button):hover{color:var(--nlm-blue)}

/* cartes produits (Woo + Devfox cmt-product-box) */
body.nlm-skin .cmt-product-box,body.nlm-skin ul.products li.product{
  background:var(--nlm-surface);border:1px solid var(--nlm-line);padding:14px;
  transition:transform .25s,box-shadow .25s,border-color .25s}
body.nlm-skin ul.products li.product:hover,body.nlm-skin .cmt-product-box:hover{
  transform:translateY(-5px);box-shadow:0 22px 46px -30px rgba(11,27,51,.4);border-color:color-mix(in srgb,var(--nlm-blue-b) 35%,transparent)}
body.nlm-skin .woocommerce-loop-product__title,body.nlm-skin .cmt-sboxproduct-content .cmt-product-title{
  font-family:var(--nlm-disp)!important;color:var(--nlm-ink)!important;font-weight:500}
body.nlm-skin .price,body.nlm-skin .woocommerce-Price-amount{color:var(--nlm-blue)!important;font-family:var(--nlm-disp);font-weight:600}
body.nlm-skin del .woocommerce-Price-amount{color:var(--nlm-mut)!important}

/* boutons (Woo + Elementor + Devfox) → bouton Nilume */
body.nlm-skin .woocommerce a.button,body.nlm-skin .woocommerce button.button,
body.nlm-skin .woocommerce input.button,body.nlm-skin .woocommerce #respond input#submit,
body.nlm-skin .woocommerce .button.alt,body.nlm-skin .add_to_cart_button{
  background:linear-gradient(135deg,var(--nlm-blue-b),var(--nlm-blue))!important;color:#fff!important;
  border:none!important;border-radius:0!important;font-family:var(--nlm-disp)!important;font-weight:500!important;
  letter-spacing:.5px;text-transform:uppercase;padding:12px 26px!important;
  box-shadow:0 10px 26px -12px var(--nlm-blue-b);transition:transform .2s,filter .2s,box-shadow .2s}
body.nlm-skin .woocommerce a.button:hover,body.nlm-skin .woocommerce button.button:hover,
body.nlm-skin .add_to_cart_button:hover,body.nlm-skin .woocommerce .button.alt:hover{
  transform:translateY(-2px);filter:brightness(1.06)}

/* tables panier/commande + champs */
body.nlm-skin .woocommerce table.shop_table{border-color:var(--nlm-line);background:var(--nlm-surface)}
body.nlm-skin .woocommerce table.shop_table th{font-family:var(--nlm-disp);color:var(--nlm-ink)}
body.nlm-skin .woocommerce form .form-row input.input-text,
body.nlm-skin .woocommerce .select2-selection,
body.nlm-skin .woocommerce form .form-row textarea{
  background:var(--nlm-surface);border:1px solid var(--nlm-line);color:var(--nlm-ink);border-radius:0;padding:12px 14px}
body.nlm-skin .woocommerce .woocommerce-message,body.nlm-skin .woocommerce-info{
  border-top-color:var(--nlm-blue-b)}

/* titlebar Devfox sur ces pages → sobre premium */
body.nlm-skin.woocommerce-page .cmt-titlebar,body.nlm-skin.single-cmt_service .cmt-titlebar,
body.nlm-skin.single-cmt_portfolio .cmt-titlebar,body.nlm-skin.single-cmt_team_member .cmt-titlebar{
  background:var(--hero-bg)!important}

/* ════════ SÉCURITÉ = BLEU FONCÉ (plus de vert), bat l'inline en clair ET sombre ════════ */
.nlm-root{--teal:#16487f!important}
@media (prefers-color-scheme:dark){html:not(.vis-light) .nlm-root{--teal:#3f86d4!important}}
html.vis-dark .nlm-root{--teal:#3f86d4!important}


/* ════════ FIX MOBILE — section hero "À propos" (.nlm-hero2) ════════
   Le "timeline device" en absolute débordait/encombrait en mobile. On le masque
   sous 760px et on rééquilibre le padding du contenu pour un haut de page net. */
@media (max-width:760px){
  .nlm-root .nlm-hero2-tl{display:none!important}
  .nlm-root .nlm-hero2-content{padding:120px 7% 56px!important;min-height:auto!important}
  .nlm-root .nlm-hero2-rec,.nlm-root .nlm-hero2-scroll,.nlm-root .nlm-hero2-sep{display:none!important}
}

/* ════════════════════════════════════════════════════════════════════════
   SKIN DEVFOX — ARTICLES (single post) + PRESTATIONS (cmt_service) +
   RÉALISATIONS (cmt_portfolio) + TESTIMONIALS (cmt_team_member)
   On GARDE le rendu natif Devfox (sidebar widgets + similaires + barre de titre)
   et on l'habille premium, cohérent avec le reste du site (clair + sombre auto).
   ════════════════════════════════════════════════════════════════════════ */
body.nlm-skin.single,body.nlm-skin.single-cmt_service,body.nlm-skin.single-cmt_portfolio,body.nlm-skin.single-cmt_team_member{
  --nlm-blue:#1f6fc2;--nlm-ink:#0b1b33;--nlm-soft:#41526b;--nlm-bg:#f5f8fd;--nlm-surface:#ffffff;
  --nlm-line:rgba(11,27,51,.10);--nlm-mut:rgba(70,90,120,.62);--nlm-disp:'Oswald',sans-serif;--nlm-body:'Outfit',sans-serif}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) body.nlm-skin.single, html:not(.vis-light) body.nlm-skin.single-cmt_service, html:not(.vis-light) body.nlm-skin.single-cmt_portfolio, html:not(.vis-light) body.nlm-skin.single-cmt_team_member{
    --nlm-blue:#50B2FD;--nlm-ink:#e8f2ff;--nlm-soft:#b9cae6;--nlm-bg:#04132c;--nlm-surface:#0a1f3f;
    --nlm-line:rgba(80,178,253,.16);--nlm-mut:rgba(150,175,210,.6)}}

  html.vis-dark body.nlm-skin.single, html.vis-dark body.nlm-skin.single-cmt_service, html.vis-dark body.nlm-skin.single-cmt_portfolio, html.vis-dark body.nlm-skin.single-cmt_team_member{
    --nlm-blue:#50B2FD;--nlm-ink:#e8f2ff;--nlm-soft:#b9cae6;--nlm-bg:#04132c;--nlm-surface:#0a1f3f;
    --nlm-line:rgba(80,178,253,.16);--nlm-mut:rgba(150,175,210,.6)}


/* fond clair de la zone de contenu */
body.nlm-skin.single #content-wrapper,body.nlm-skin.single #content,
body.nlm-skin.single-cmt_service #content-wrapper,body.nlm-skin.single-cmt_service #content,
body.nlm-skin.single-cmt_portfolio #content,body.nlm-skin.single-cmt_team_member #content{
  background:var(--nlm-bg)!important;font-family:var(--nlm-body);color:var(--nlm-soft)}

/* ════ BARRE DE TITRE NATIVE DEVFOX (.cmt-title-wrapper.cmt-bg) ════
   Système de titre d'origine du thème, repris proprement : hauteur RAISONNABLE
   (plus de bandeau géant), image de fond conservée si présente (+overlay lisible),
   dégradé profond premium sinon, titre Oswald + fil d'ariane stylé. S'applique à
   TOUTES les pages rendues par le thème (article, prestation, réalisation,
   testimonial, catégorie, tag, recherche, auteur, 404, WooCommerce). */
body.nlm-skin .cmt-title-wrapper.cmt-bg{
  position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;
  min-height:178px!important;height:auto!important;padding:80px 5% 26px!important;
  border-bottom:1px solid rgba(80,178,253,.18)}
/* MOBILE : la navbar Nilume (transparente, recouvrante) est désactivée → l'entête
   Devfox est solide et hors recouvrement, donc plus besoin du grand dégagement haut. */
@media(max-width:900px){body.nlm-skin .cmt-title-wrapper.cmt-bg{min-height:120px!important;padding:30px 6% 22px!important}}
@media(max-width:600px){body.nlm-skin .cmt-title-wrapper.cmt-bg{min-height:108px!important;padding:26px 6% 20px!important}}
/* sous-titre hérité (lien démo) masqué → barres de titre de hauteur homogène partout */
body.nlm-skin .cmt-title-wrapper .entry-subtitle{display:none!important}
body.nlm-skin .cmt-title-wrapper.cmt-bgimage-no{
  background:radial-gradient(ellipse 60% 130% at 86% -25%,rgba(80,178,253,.20),transparent 60%),linear-gradient(160deg,#0a2247 0%,#05132b 62%,#0a1f3f 100%)!important}
body.nlm-skin .cmt-title-wrapper.cmt-bgimage-yes::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(4,16,38,.55),rgba(4,16,38,.82))}
body.nlm-skin .cmt-title-wrapper .cmt-titlebar,body.nlm-skin .cmt-title-wrapper .cmt-titlebar-main,
body.nlm-skin .cmt-title-wrapper .cmt-titlebar-inner-wrapper,body.nlm-skin .cmt-title-wrapper .container{position:relative;z-index:2}
/* tue la hauteur INLINE par-page du thème (titlebar_height:300px + padding-top:137px) → barres de titre HOMOGÈNES partout */
body.nlm-skin .cmt-title-wrapper .cmt-titlebar-inner-wrapper{height:auto!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important}
/* titre + fil d'ariane alignés À GAUCHE (cohérent avec le contenu) */
body.nlm-skin .cmt-title-wrapper .cmt-titlebar-main,body.nlm-skin .cmt-title-wrapper .entry-title-wrapper,
body.nlm-skin .cmt-title-wrapper .entry-title,body.nlm-skin .breadcrumb-wrapper{text-align:left!important}
body.nlm-skin .cmt-title-wrapper .entry-title{
  font-family:'Oswald',sans-serif!important;font-weight:600!important;letter-spacing:.5px;color:#fff!important;
  text-transform:uppercase;line-height:1.06!important;margin:0!important;font-size:clamp(28px,4.6vw,54px)!important}
body.nlm-skin .cmt-title-wrapper .entry-subtitle{font-family:'Outfit',sans-serif!important;font-weight:400;color:rgba(206,222,245,.82)!important;margin-top:10px;text-transform:none;font-size:15px}
body.nlm-skin .cmt-title-wrapper .entry-subtitle a{color:#7fc1ff!important}
/* fil d'ariane */
body.nlm-skin .breadcrumb-wrapper{margin-top:16px;position:relative;z-index:2}
body.nlm-skin .breadcrumb-wrapper,body.nlm-skin .breadcrumb-wrapper *{font-family:'Rajdhani',sans-serif!important;font-size:13px;font-weight:600;letter-spacing:.6px;color:rgba(206,222,245,.78)!important}
body.nlm-skin .breadcrumb-wrapper a{color:rgba(206,222,245,.78)!important;transition:color .2s}
body.nlm-skin .breadcrumb-wrapper a:hover{color:#7fc1ff!important}
body.nlm-skin .breadcrumb-wrapper .nlm-bc-sep{margin:0 9px;color:rgba(80,178,253,.55)!important}
body.nlm-skin .breadcrumb-wrapper .nlm-bc-current{color:#fff!important}
/* conteneur de titre = MÊME largeur/padding que le contenu → titre & texte alignés */
body.nlm-skin .cmt-title-wrapper .entry-title-wrapper > .container,body.nlm-skin .breadcrumb-wrapper > .container,
body.nlm-skin .cmt-title-wrapper .cmt-titlebar-main > .container{max-width:1280px!important;margin:0 auto!important;padding:0 24px!important;width:100%}

/* contenu : PAS de "boîte" cramponnée — flux éditorial large, aligné pleine colonne */
body.nlm-skin .cmt-service-single-content-wrapper-innerbox,
body.nlm-skin.single .site-main .hentry,body.nlm-skin.single article.post,
body.nlm-skin .cmt-service-single-content-wrapper,body.nlm-skin .cymolthemes-common-box-shadow{
  background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}
/* zone de contenu = MÊME conteneur (largeur + gouttière 24px) que la barre de titre
   → texte aligné proprement, jamais plaqué à gauche, confortable en mobile comme desktop */
body.nlm-skin.single #content.container,body.nlm-skin.single-cmt_service #content.container,
body.nlm-skin.single-cmt_portfolio #content.container,body.nlm-skin.single-cmt_team_member #content.container,
body.nlm-skin.archive #content.container,body.nlm-skin.category #content.container,body.nlm-skin.tag #content.container,
body.nlm-skin.search #content.container,body.nlm-skin.author #content.container{
  max-width:1280px!important;padding-left:24px!important;padding-right:24px!important}
body.nlm-skin.single .entry-content,body.nlm-skin .cmt-service-description,body.nlm-skin .cymolthemes-service-single-content-area{
  font-family:var(--nlm-body)!important;font-size:16.5px;line-height:1.8;color:var(--nlm-soft)!important;max-width:none!important;padding-top:30px}
body.nlm-skin.single .entry-content h1,body.nlm-skin.single .entry-content h2,body.nlm-skin.single .entry-content h3,
body.nlm-skin .cmt-service-description h2,body.nlm-skin .cmt-service-description h3{
  font-family:var(--nlm-disp)!important;color:var(--nlm-ink)!important;font-weight:600;margin:1.3em 0 .5em}
body.nlm-skin.single .entry-content a,body.nlm-skin .cmt-service-description a{color:var(--nlm-blue)!important}
body.nlm-skin.single .entry-content strong,body.nlm-skin .cmt-service-description strong{color:var(--nlm-ink)!important}
body.nlm-skin.single .entry-content blockquote{border-left:3px solid var(--nlm-blue)!important;color:var(--nlm-ink)!important}

/* SIDEBAR + widgets (articles similaires, récents, "prestations similaires") */
body.nlm-skin .widget-area.sidebar{font-family:var(--nlm-body)}
body.nlm-skin .widget-area.sidebar .widget{background:var(--nlm-surface)!important;border:1px solid var(--nlm-line)!important;
  padding:22px 22px 24px!important;margin-bottom:20px;box-shadow:0 16px 38px -30px rgba(11,27,51,.35)}
body.nlm-skin .widget-area.sidebar .widget-title{font-family:var(--nlm-disp)!important;font-weight:600!important;font-size:18px!important;
  color:var(--nlm-ink)!important;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px!important;padding-bottom:10px;position:relative}
body.nlm-skin .widget-area.sidebar .widget-title::after{content:'';position:absolute;left:0;bottom:0;width:42px;height:2px;background:linear-gradient(90deg,var(--nlm-blue),transparent)}
body.nlm-skin .widget-area.sidebar a{color:var(--nlm-soft)!important;transition:color .2s}
body.nlm-skin .widget-area.sidebar a:hover{color:var(--nlm-blue)!important}
body.nlm-skin .widget-area.sidebar li{border-bottom:1px solid var(--nlm-line);padding:10px 0}
body.nlm-skin .widget-area.sidebar li:last-child{border-bottom:none}
/* widget Catégories : le thème ajoutait une 2e barre (border-top) → double trait mal placé.
   On neutralise tout bord du thème et on garde UN seul séparateur propre. */
body.nlm-skin .widget-area.sidebar .widget_categories ul,
body.nlm-skin .widget-area.sidebar .widget_categories li,
body.nlm-skin .widget-area.sidebar .widget_categories li a{border-top:0!important;box-shadow:none!important}
body.nlm-skin .widget-area.sidebar .widget_categories li{border-bottom:1px solid var(--nlm-line)!important;padding:11px 0!important;margin:0!important}
body.nlm-skin .widget-area.sidebar .widget_categories li:first-child{padding-top:0!important}
body.nlm-skin .widget-area.sidebar .widget_categories li:last-child{border-bottom:0!important;padding-bottom:0!important}
body.nlm-skin .widget-area.sidebar .post-date,body.nlm-skin .widget-area.sidebar .rpwwt-post-date,body.nlm-skin .widget-area.sidebar time{color:var(--nlm-mut)!important;font-family:var(--nlm-disp);font-size:12px}
/* sidebar Devfox bg sombre par défaut → neutralisé pour cohérence */
body.nlm-skin .sidebar-container.cmt-bgcolor-custom,body.nlm-skin .widget-area.cmt-bgcolor-custom{background:transparent!important}
body.nlm-skin .widget-area.cmt-textcolor-white,body.nlm-skin .widget-area.cmt-textcolor-white *{color:var(--nlm-soft)}

/* ════════════════════════════════════════════════════════════════════════
   ARCHIVES (catégorie, tag, recherche, auteur, 404, index blog Devfox)
   Cartes d'articles premium + pagination + zone contenu claire.
   ════════════════════════════════════════════════════════════════════════ */
body.nlm-skin.archive #content,body.nlm-skin.search #content,body.nlm-skin.error404 #content,
body.nlm-skin.author #content,body.nlm-skin.category #content,body.nlm-skin.tag #content{
  background:#f5f8fd;font-family:'Outfit',sans-serif;color:#41526b}
@media (prefers-color-scheme:dark){
  /* devfox/Codestar peint `.cymolthemes-sticky-footer .site-content-wrapper` (+ body) en #fff via un
     <style> inline → en archive sombre ce blanc débordait entre/au-dessus des cartes. On assombrit
     TOUTE la chaîne de wrappers (body + #content-wrapper + #content) et on rend content-area/site-main
     transparents pour révéler le sombre. (Sélecteurs body.nlm-skin.<type> = 0,3,0 + !important > inline 0,2,0.) */
  html:not(.vis-light) body.nlm-skin.archive, html:not(.vis-light) body.nlm-skin.search, html:not(.vis-light) body.nlm-skin.error404, html:not(.vis-light) body.nlm-skin.author, html:not(.vis-light) body.nlm-skin.category, html:not(.vis-light) body.nlm-skin.tag, html:not(.vis-light) body.nlm-skin.archive #content, html:not(.vis-light) body.nlm-skin.search #content, html:not(.vis-light) body.nlm-skin.error404 #content, html:not(.vis-light) body.nlm-skin.author #content, html:not(.vis-light) body.nlm-skin.category #content, html:not(.vis-light) body.nlm-skin.tag #content, html:not(.vis-light) body.nlm-skin.archive .site-content-wrapper, html:not(.vis-light) body.nlm-skin.search .site-content-wrapper, html:not(.vis-light) body.nlm-skin.error404 .site-content-wrapper, html:not(.vis-light) body.nlm-skin.author .site-content-wrapper, html:not(.vis-light) body.nlm-skin.category .site-content-wrapper, html:not(.vis-light) body.nlm-skin.tag .site-content-wrapper{
    background:#04132c!important;color:#b9cae6}
  html:not(.vis-light) body.nlm-skin.archive .content-area, html:not(.vis-light) body.nlm-skin.search .content-area, html:not(.vis-light) body.nlm-skin.error404 .content-area, html:not(.vis-light) body.nlm-skin.author .content-area, html:not(.vis-light) body.nlm-skin.category .content-area, html:not(.vis-light) body.nlm-skin.tag .content-area, html:not(.vis-light) body.nlm-skin.archive .site-main, html:not(.vis-light) body.nlm-skin.search .site-main, html:not(.vis-light) body.nlm-skin.error404 .site-main, html:not(.vis-light) body.nlm-skin.author .site-main, html:not(.vis-light) body.nlm-skin.category .site-main, html:not(.vis-light) body.nlm-skin.tag .site-main{background:transparent!important}}

  /* devfox/Codestar peint `.cymolthemes-sticky-footer .site-content-wrapper` (+ body) en #fff via un
     <style> inline → en archive sombre ce blanc débordait entre/au-dessus des cartes. On assombrit
     TOUTE la chaîne de wrappers (body + #content-wrapper + #content) et on rend content-area/site-main
     transparents pour révéler le sombre. (Sélecteurs body.nlm-skin.<type> = 0,3,0 + !important > inline 0,2,0.) */
  html.vis-dark body.nlm-skin.archive, html.vis-dark body.nlm-skin.search, html.vis-dark body.nlm-skin.error404, html.vis-dark body.nlm-skin.author, html.vis-dark body.nlm-skin.category, html.vis-dark body.nlm-skin.tag, html.vis-dark body.nlm-skin.archive #content, html.vis-dark body.nlm-skin.search #content, html.vis-dark body.nlm-skin.error404 #content, html.vis-dark body.nlm-skin.author #content, html.vis-dark body.nlm-skin.category #content, html.vis-dark body.nlm-skin.tag #content, html.vis-dark body.nlm-skin.archive .site-content-wrapper, html.vis-dark body.nlm-skin.search .site-content-wrapper, html.vis-dark body.nlm-skin.error404 .site-content-wrapper, html.vis-dark body.nlm-skin.author .site-content-wrapper, html.vis-dark body.nlm-skin.category .site-content-wrapper, html.vis-dark body.nlm-skin.tag .site-content-wrapper{
    background:#04132c!important;color:#b9cae6}
  html.vis-dark body.nlm-skin.archive .content-area, html.vis-dark body.nlm-skin.search .content-area, html.vis-dark body.nlm-skin.error404 .content-area, html.vis-dark body.nlm-skin.author .content-area, html.vis-dark body.nlm-skin.category .content-area, html.vis-dark body.nlm-skin.tag .content-area, html.vis-dark body.nlm-skin.archive .site-main, html.vis-dark body.nlm-skin.search .site-main, html.vis-dark body.nlm-skin.error404 .site-main, html.vis-dark body.nlm-skin.author .site-main, html.vis-dark body.nlm-skin.category .site-main, html.vis-dark body.nlm-skin.tag .site-main{background:transparent!important}


body.nlm-skin .cymolthemes-box-blog-classic,body.nlm-skin .cymolthemes-box.cymolthemes-box-blog-classic{
  background:#fff!important;border:1px solid rgba(11,27,51,.10)!important;padding:26px 28px!important;margin-bottom:18px;
  box-shadow:0 16px 40px -30px rgba(11,27,51,.32);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
body.nlm-skin .cymolthemes-box-blog-classic::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#2b86d9;transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.16,1,.3,1)}
body.nlm-skin .cymolthemes-box-blog-classic:hover{transform:translateY(-4px);box-shadow:0 26px 52px -30px rgba(11,27,51,.42);border-color:rgba(43,134,217,.35)!important}
body.nlm-skin .cymolthemes-box-blog-classic:hover::before{transform:scaleY(1)}
body.nlm-skin .cymolthemes-box-blog-classic .entry-title{font-family:'Oswald',sans-serif!important;line-height:1.16!important;margin-bottom:8px}
body.nlm-skin .cymolthemes-box-blog-classic .entry-title a{color:#0b1b33!important;transition:color .2s}
body.nlm-skin .cymolthemes-box-blog-classic .entry-title a:hover{color:#1f6fc2!important}
body.nlm-skin .cmt-meta-line,body.nlm-skin .cmt-meta-line a,body.nlm-skin .cymolthemes-box-blog-classic .posted-on,body.nlm-skin .cymolthemes-box-blog-classic .cat-links{
  color:rgba(70,90,120,.72)!important;font-family:'Rajdhani',sans-serif!important;font-weight:600;letter-spacing:.4px}
body.nlm-skin .cmt-meta-line a:hover,body.nlm-skin .cat-links a:hover{color:#1f6fc2!important}
body.nlm-skin .cymolthemes-blogbox-desc-footer,body.nlm-skin .cymolthemes-box-desc{color:#41526b!important}
body.nlm-skin .cymolthemes-blogbox-footer-readmore a,body.nlm-skin .cmt-vc_btn3 a,body.nlm-skin a.cmt-readmore{
  color:#1f6fc2!important;font-family:'Rajdhani',sans-serif!important;font-weight:700;text-transform:uppercase;letter-spacing:1px}
@media (prefers-color-scheme:dark){
  /* La carte VISIBLE = wrapper interne `.cmt-blog-classic-box-content`, peint #F5F5F5 par devfox
     (`article.cymolthemes-box-blog-classic .cmt-blog-classic-box-content`, spécificité 0,2,1).
     On assombrit boîte externe ET wrapper interne (0,3,1 > devfox) — sinon panneau clair + titre
     clair = blanc-sur-blanc. */
  html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic, html:not(.vis-light) body.nlm-skin .cymolthemes-box.cymolthemes-box-blog-classic, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .cmt-blog-classic-box-content{
    background:#0a1f3f!important;border-color:rgba(80,178,253,.16)!important}
  /* conteneur « image à la une » (l'image elle-même est sur .cmt-post-featured-link-wrapper, intouché) */
  html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .cmt-featured-outer-wrapper{background:transparent!important}
  /* titre + extrait + méta : clairs et lisibles sur la carte sombre */
  html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .entry-title a{color:#e8f2ff!important}
  html:not(.vis-light) body.nlm-skin .cymolthemes-blogbox-desc-footer, html:not(.vis-light) body.nlm-skin .cymolthemes-box-desc, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .cymolthemes-box-desc-text, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .entry-content, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .entry-content p{color:#b9cae6!important}
  html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .cmt-meta-line, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .cmt-meta-line a, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .posted-on, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .cat-links, html:not(.vis-light) body.nlm-skin .cymolthemes-box-blog-classic .tm-meta-line{color:rgba(185,202,230,.80)!important}}

  /* La carte VISIBLE = wrapper interne `.cmt-blog-classic-box-content`, peint #F5F5F5 par devfox
     (`article.cymolthemes-box-blog-classic .cmt-blog-classic-box-content`, spécificité 0,2,1).
     On assombrit boîte externe ET wrapper interne (0,3,1 > devfox) — sinon panneau clair + titre
     clair = blanc-sur-blanc. */
  html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic, html.vis-dark body.nlm-skin .cymolthemes-box.cymolthemes-box-blog-classic, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .cmt-blog-classic-box-content{
    background:#0a1f3f!important;border-color:rgba(80,178,253,.16)!important}
  /* conteneur « image à la une » (l'image elle-même est sur .cmt-post-featured-link-wrapper, intouché) */
  html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .cmt-featured-outer-wrapper{background:transparent!important}
  /* titre + extrait + méta : clairs et lisibles sur la carte sombre */
  html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .entry-title a{color:#e8f2ff!important}
  html.vis-dark body.nlm-skin .cymolthemes-blogbox-desc-footer, html.vis-dark body.nlm-skin .cymolthemes-box-desc, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .cymolthemes-box-desc-text, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .entry-content, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .entry-content p{color:#b9cae6!important}
  html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .cmt-meta-line, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .cmt-meta-line a, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .posted-on, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .cat-links, html.vis-dark body.nlm-skin .cymolthemes-box-blog-classic .tm-meta-line{color:rgba(185,202,230,.80)!important}


/* pagination Devfox */
body.nlm-skin .cmt-pagination a,body.nlm-skin .cmt-pagination span,body.nlm-skin .pagination a,body.nlm-skin .pagination span,
body.nlm-skin .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid rgba(11,27,51,.12)!important;background:#fff!important;color:#0b1b33!important;font-family:'Rajdhani',sans-serif!important;font-weight:700;margin:3px;transition:.2s}
body.nlm-skin .page-numbers.current,body.nlm-skin .cmt-pagination .current{background:#1f6fc2!important;color:#fff!important;border-color:#1f6fc2!important}
body.nlm-skin .page-numbers:hover{border-color:#1f6fc2!important;color:#1f6fc2!important}

/* recherche / 404 */
body.nlm-skin.search .search-form input,body.nlm-skin.error404 .search-form input,body.nlm-skin .search-field{
  background:#fff!important;border:1px solid rgba(11,27,51,.12)!important;padding:13px 16px!important;color:#0b1b33!important;font-family:'Outfit',sans-serif}
body.nlm-skin.error404 #content{padding:40px 6% 90px}

/* ════════ FIX : titres de contenu (prestation/article) — anti-rognage ════════ */
body.nlm-skin .cmt-service-description h1,body.nlm-skin .cmt-service-description h2,body.nlm-skin .cmt-service-description h3,
body.nlm-skin .cymolthemes-service-single-content-area h1,body.nlm-skin .cymolthemes-service-single-content-area h2,body.nlm-skin .cymolthemes-service-single-content-area h3,
body.nlm-skin.single .entry-content h1,body.nlm-skin.single .entry-content h2,body.nlm-skin.single .entry-content h3{
  line-height:1.2!important;overflow:visible!important;word-break:normal;hyphens:none;
  font-size:clamp(24px,3.4vw,38px)!important;padding-top:.05em}

/* ════════════════════════════════════════════════════════════════════════
   CAROUSELS NILUME (shortcodes [nilume_services] / [nilume_realisations])
   + skin des "boxes" service/portfolio natives du thème → pages futures OK.
   ════════════════════════════════════════════════════════════════════════ */
/* ════ CARROUSEL DE PRESTATIONS `.nlm-pz` — slider HORIZONTAL toujours défilant ════
   Distinct des cartes explicatives (.nlm-svc) : fond teinté catégorie + bord
   accent gauche. Desktop : flèches (si débordement) + drag. Mobile : swipe natif. */
.nlm-pz-root{scroll-margin-top:92px;margin:clamp(40px,5vw,66px) 0 8px}   /* #hash PILE sur le carrousel + air avec la section au-dessus */
.nlm-pz{position:relative}
.nlm-pz-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;flex-wrap:wrap}
.nlm-pz-title{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(22px,3vw,34px);text-transform:uppercase;color:var(--txt-strong,#0b1b33);line-height:1;margin:0}
.nlm-pz-nav{display:flex;gap:8px;flex-shrink:0}
.nlm-pz-nav[hidden]{display:none}
.nlm-pz-btn{width:46px;height:46px;border:1px solid var(--line,rgba(11,27,51,.12));background:var(--surface,#fff);color:var(--txt-strong,#0b1b33);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,opacity .2s}
.nlm-pz-btn:hover{border-color:#1f6fc2;color:#1f6fc2}
.nlm-pz-btn[disabled]{opacity:.3;cursor:default;pointer-events:none}
/* piste défilante */
.nlm-pz-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;padding:4px 2px 14px;scrollbar-width:none;-ms-overflow-style:none}
.nlm-pz-track::-webkit-scrollbar{display:none}
/* carte prestation — SANS icône, AUX COULEURS DE LA CATÉGORIE (fond teinté + bord haut +
   flèche d'angle), largeur fixe → slide. Distincte des cartes explicatives blanches (.nlm-svc). */
.nlm-pz-card{flex:0 0 82%;max-width:400px;scroll-snap-align:start;position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:11px;padding:25px 26px 24px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--c,#2b86d9) 14%,#fff),#fff 80%);
  border:1px solid color-mix(in srgb,var(--c,#2b86d9) 24%,rgba(11,27,51,.06));border-top:4px solid var(--c,#2b86d9);
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
@media(min-width:680px){.nlm-pz-card{flex-basis:46%}}
@media(min-width:1080px){.nlm-pz-card{flex-basis:31.5%}}
.nlm-pz-card:hover{transform:translateY(-5px);box-shadow:0 26px 52px -32px color-mix(in srgb,var(--c,#2b86d9) 55%,rgba(11,27,51,.5))}
.nlm-pz-name{font-family:'Oswald',sans-serif;font-weight:600;font-size:19px;line-height:1.18;color:var(--txt-strong,#0b1b33);text-transform:none;margin:0}
.nlm-pz-desc{font-size:13.5px;line-height:1.68;color:var(--txt,#41526b);flex:1;text-align:justify;margin:0}
@media(max-width:680px){.nlm-pz-card{flex-basis:84%}}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) .nlm-pz-card{background:linear-gradient(160deg,color-mix(in srgb,var(--c,#2b86d9) 30%,#0a1f3f),#0a1f3f 80%);border-color:color-mix(in srgb,var(--c,#2b86d9) 34%,rgba(80,178,253,.16))}
  html:not(.vis-light) .nlm-pz-name{color:#e8f2ff}html:not(.vis-light) .nlm-pz-desc{color:#b9cae6}
  html:not(.vis-light) .nlm-pz-btn{background:#0a1f3f;border-color:rgba(80,178,253,.18);color:#e8f2ff}
  html:not(.vis-light) .nlm-pz-title{color:#e8f2ff}
}

  html.vis-dark .nlm-pz-card{background:linear-gradient(160deg,color-mix(in srgb,var(--c,#2b86d9) 30%,#0a1f3f),#0a1f3f 80%);border-color:color-mix(in srgb,var(--c,#2b86d9) 34%,rgba(80,178,253,.16))}
  html.vis-dark .nlm-pz-name{color:#e8f2ff}html.vis-dark .nlm-pz-desc{color:#b9cae6}
  html.vis-dark .nlm-pz-btn{background:#0a1f3f;border-color:rgba(80,178,253,.18);color:#e8f2ff}
  html.vis-dark .nlm-pz-title{color:#e8f2ff}



/* skin des boxes natives (Elementor service/portfolio widgets) */
body.nlm-skin .cymolthemes-box-service,body.nlm-skin .cymolthemes-box-portfolio,body.nlm-skin .cymolthemes-box-team{
  background:#fff!important;border:1px solid rgba(11,27,51,.1)!important;transition:transform .3s,box-shadow .3s,border-color .3s!important}
body.nlm-skin .cymolthemes-box-service:hover,body.nlm-skin .cymolthemes-box-portfolio:hover,body.nlm-skin .cymolthemes-box-team:hover{
  transform:translateY(-5px);box-shadow:0 26px 52px -32px rgba(11,27,51,.4);border-color:rgba(43,134,217,.32)!important}
body.nlm-skin .cymolthemes-box-service .cymolthemes-box-title,body.nlm-skin .cymolthemes-box-portfolio .cymolthemes-box-title,
body.nlm-skin .cymolthemes-box-service h3,body.nlm-skin .cymolthemes-box-portfolio h3{font-family:'Oswald',sans-serif!important;color:#0b1b33!important}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) body.nlm-skin .cymolthemes-box-service, html:not(.vis-light) body.nlm-skin .cymolthemes-box-portfolio, html:not(.vis-light) body.nlm-skin .cymolthemes-box-team{background:#0a1f3f!important;border-color:rgba(80,178,253,.16)!important}
  html:not(.vis-light) body.nlm-skin .cymolthemes-box-service h3, html:not(.vis-light) body.nlm-skin .cymolthemes-box-portfolio h3{color:#e8f2ff!important}}

  html.vis-dark body.nlm-skin .cymolthemes-box-service, html.vis-dark body.nlm-skin .cymolthemes-box-portfolio, html.vis-dark body.nlm-skin .cymolthemes-box-team{background:#0a1f3f!important;border-color:rgba(80,178,253,.16)!important}
  html.vis-dark body.nlm-skin .cymolthemes-box-service h3, html.vis-dark body.nlm-skin .cymolthemes-box-portfolio h3{color:#e8f2ff!important}


/* ════════════════════════════════════════════════════════════════════════
   ITÉRATION 6 — retours utilisateur (switcher, sections doubles, titlebar
   mobile, fond sans couture, gap presta, titlebar blog)
   ════════════════════════════════════════════════════════════════════════ */
/* 1) SECTIONS DOUBLES (2 colonnes) — réf. Visuance : la COLONNE centre son contenu
   (label + titre centrés), mais le PARAGRAPHE est JUSTIFIÉ à largeur contenue,
   centré dans sa moitié (margin auto). — desktop */
@media (min-width:901px){
  .nlm-root .nlm-split-header .col-head,
  .nlm-root .nlm-split-header .col-head.right{align-items:center!important;text-align:center!important}
  .nlm-root .nlm-promise-text{align-items:center;text-align:center}
  .nlm-root .nlm-promise-text .nlm-label2,.nlm-root .nlm-promise-text .nlm-promise-title{text-align:center!important}
}
/* paragraphes des sections doubles : justifiés, colonne centrée à largeur lisible */
.nlm-root .nlm-split-intro{text-align:justify!important;max-width:480px;margin-left:auto;margin-right:auto}
.nlm-root .nlm-promise-para{text-align:justify!important;max-width:540px;margin-left:auto;margin-right:auto}
/* 2) BARRE DE TITRE : contenu CENTRÉ en mobile (gauche en desktop pour l'alignement) */
@media (max-width:900px){
  body.nlm-skin .cmt-title-wrapper .cmt-titlebar-main,body.nlm-skin .cmt-title-wrapper .entry-title-wrapper,
  body.nlm-skin .cmt-title-wrapper .entry-title,body.nlm-skin .breadcrumb-wrapper,body.nlm-skin .breadcrumb-wrapper-inner{text-align:center!important}
  body.nlm-skin .cmt-title-wrapper .breadcrumb-wrapper{display:flex;justify-content:center;flex-wrap:wrap}
  body.nlm-skin .cmt-title-wrapper.cmt-bg{align-items:center}
}
/* 3) CONTENU article/presta : fond SANS COUTURE (plus de boîte blanche aux bords cassés) */
body.nlm-skin.single .site-main,body.nlm-skin.single #primary,body.nlm-skin.single .content-area,
body.nlm-skin.single-cmt_service .site-main,body.nlm-skin.single-cmt_service #primary,body.nlm-skin.single-cmt_service .content-area,
body.nlm-skin.single-cmt_portfolio .site-main,body.nlm-skin.single-cmt_portfolio #primary,
body.nlm-skin.single-cmt_team_member .site-main,
body.nlm-skin .cmt-service-single-content-wrapper,body.nlm-skin .cymolthemes-common-box-shadow,
body.nlm-skin .cymolthemes-service-single-content-area{background:transparent!important;box-shadow:none!important;border:none!important;margin:0!important}
/* 4) GAP géant au-dessus du contenu prestation (mobile) : top-spacing/min-height parasites neutralisés */
body.nlm-skin.single-cmt_service .site-main,body.nlm-skin.single .site-main{min-height:0!important;padding-top:0!important;margin-top:0!important}
body.nlm-skin .cmt-service-single-content-wrapper,body.nlm-skin .cymolthemes-service-single-content-area,
body.nlm-skin .cmt-service-description:first-child{padding-top:0!important;margin-top:0!important}
body.nlm-skin .cmt-service-single-content-wrapper > .cymolthemes-common-box-shadow{padding:0!important}
/* 5) BLOG (et pages templatées Nilume) : barre de titre NATIVE du thème entièrement retirée */
body.nlm-tmpl .cmt-title-wrapper,body.nlm-tmpl .cmt-titlebar,body.nlm-tmpl .cmt-title-wrapper-bg-layer,body.nlm-tmpl .cmt-titlebar-border{display:none!important}
/* 6) SÉLECTEUR DE LANGUE déplacé dans la barre d'icônes (par JS) — propre, inline */
.cmt-header-icons .ntr-menu-switcher{display:inline-flex!important;align-items:center;gap:9px!important;margin:0 14px 0 0;padding:0;vertical-align:middle}
.cmt-header-icons .ntr-menu-switcher a{font-size:18px;line-height:1;opacity:.5;transition:opacity .2s,transform .2s;text-decoration:none}
.cmt-header-icons .ntr-menu-switcher a:hover{opacity:1;transform:translateY(-1px)}
/* si resté dans le menu (fallback) : ne pas casser la ligne */
#menu-main-menu .ntr-menu-switcher{margin-left:10px}
/* 7) anti-gap : le contenu Devfox à animation "cmt-reveal" peut rester masqué
   (opacity:0/translate) au-dessus de la ligne de flottaison → espace vide. On
   force visible sur les pages article/prestation/réalisation. */
body.nlm-skin.single [class*="cmt-reveal"],body.nlm-skin.single-cmt_service [class*="cmt-reveal"],
body.nlm-skin.single-cmt_portfolio [class*="cmt-reveal"],body.nlm-skin.single-cmt_team_member [class*="cmt-reveal"],
body.nlm-skin.single .cmt-element-heading-content-wrapper,body.nlm-skin.single-cmt_service .cmt-element-heading-content-wrapper{
  opacity:1!important;visibility:visible!important;transform:none!important;top:0!important}

/* ════════ FIX logo « sticky » cassé (pré-existant) ════════
   Au scroll, l'entête Devfox bascule vers une image de logo "sticky" (…-1.png)
   ABSENTE (404) → logo cassé. On garde le logo standard (valide) dans TOUS les
   états (haut de page, scrolled/flottant, mobile). */
body.nlm-skin .headerlogo .stickylogo,
body.nlm-skin .cmt-sboxsc-logo .stickylogo,
body.nlm-skin img.cymolthemes-logo-img.stickylogo{display:none!important}
body.nlm-skin .headerlogo .standardlogo,
body.nlm-skin .cmt-sboxsc-logo .standardlogo,
body.nlm-skin img.cymolthemes-logo-img.standardlogo{display:inline-block!important;visibility:visible!important;opacity:1!important}

/* ════════════════════════════════════════════════════════════════════════
   ITÉRATION 8 — navbar transparente sur la barre de titre + méta d'article
   ════════════════════════════════════════════════════════════════════════ */
/* Tokens navbar disponibles HORS .nlm-root (l'entête Devfox n'est pas dans .nlm-root) */
body.nlm-skin{--nav-fg:#0b1b33;--nav-shadow:none;--txt-strong:#0b1b33;--blue:#1f6fc2;--blue-bright:#2b86d9;--violet:#7c54e0;--line:rgba(11,27,51,.10);--ease-out:cubic-bezier(.16,1,.3,1)}
@media (prefers-color-scheme:dark){html:not(.vis-light) body.nlm-skin{--nav-fg:#fff;--nav-shadow:0 1px 14px rgba(0,12,30,.45);--txt-strong:#eaf2ff;--blue:#50B2FD;--blue-bright:#50B2FD;--violet:#A965F7;--line:rgba(80,178,253,.16)}}
html.vis-dark body.nlm-skin{--nav-fg:#fff;--nav-shadow:0 1px 14px rgba(0,12,30,.45);--txt-strong:#eaf2ff;--blue:#50B2FD;--blue-bright:#50B2FD;--violet:#A965F7;--line:rgba(80,178,253,.16)}

/* page avec barre de titre native (sombre) : texte navbar BLANC quand transparente */
body.nlm-skin.nlm-darktitle{--nav-fg:#fff!important;--nav-shadow:0 1px 14px rgba(0,12,30,.45)!important}

/* MÉTA D'ARTICLE déplacée dans la barre de titre (sans la rallonger) */
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta{
  margin:16px 0 0!important;padding:0!important;display:flex;gap:22px;flex-wrap:wrap;align-items:center;
  position:relative;z-index:2;float:none!important;border:none!important;background:none!important}
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta,
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta a,
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta span,
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta time{
  color:rgba(214,228,250,.9)!important;font-family:'Rajdhani',sans-serif!important;font-size:13.5px!important;font-weight:600!important;letter-spacing:.4px}
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta a:hover{color:#7fc1ff!important}
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta i{margin-right:6px;color:#7fc1ff!important}
body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta .cmt-meta-line{display:inline-flex;align-items:center;margin:0!important}
@media(max-width:900px){body.nlm-skin .cmt-title-wrapper .entry-meta.nlm-tb-meta{justify-content:center}}

/* ════════════════════════════════════════════════════════════════════════
   JUSTIFICATION GLOBALE de TOUS les textes de corps des pages codées
   (toutes tailles d'écran) — réf. Visuance. Les titres/labels/taglines/CTA
   mono-ligne restent volontairement non justifiés.
   ════════════════════════════════════════════════════════════════════════ */
.nlm-root .nlm-desc,.nlm-root .nlm-feat__desc,.nlm-root .nlm-split-intro,.nlm-root .nlm-promise-para,
.nlm-root .nlm-sub,.nlm-root .nlm-pill__desc,.nlm-root .nlm-lcard__desc,.nlm-root .nlm-step__desc,
.nlm-root .nlm-head-desc,.nlm-root .nlm-art__excerpt,.nlm-root .nlm-cz-card p,.nlm-root .nlm-article p,
.nlm-root .nlm-promise-text .nlm-promise-para,
body.nlm-skin.single .entry-content p,body.nlm-skin .cmt-service-description p,
body.nlm-skin .cymolthemes-service-single-content-area p{text-align:justify!important;-webkit-hyphens:none;hyphens:none}

/* ════════ SÉLECTEUR DE LANGUE — MENU DÉROULANT (navbar) ════════ */
.cmt-header-icons .ntr-menu-switcher.ntr-dd{position:relative;display:inline-flex;align-items:center;margin:0 12px 0 0;padding:0;list-style:none}
.ntr-dd .ntr-dd-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:600;font-size:14px;letter-spacing:.4px;color:inherit;padding:6px 6px;line-height:1}
.ntr-dd .ntr-dd-flag{font-size:17px;line-height:1}
.ntr-dd .ntr-dd-label{text-transform:uppercase}
.ntr-dd .ntr-dd-caret{transition:transform .25s;opacity:.7}
.ntr-dd.is-open .ntr-dd-caret{transform:rotate(180deg)}
.ntr-dd .ntr-dd-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:172px;background:#fff;border:1px solid rgba(11,27,51,.10);
  box-shadow:0 18px 44px -18px rgba(11,27,51,.35);list-style:none;margin:0;padding:6px;display:none;z-index:100000;border-radius:2px}
.ntr-dd.is-open .ntr-dd-menu{display:block;animation:nlmDdIn .18s var(--ease-out,ease)}
@keyframes nlmDdIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ntr-dd .ntr-dd-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;color:#0b1b33;
  font-family:'Outfit',sans-serif;font-size:14px;font-weight:500;transition:background .15s,color .15s}
.ntr-dd .ntr-dd-menu a:hover{background:#eef4fc;color:#1f6fc2}
.ntr-dd .ntr-dd-menu .ntr-dd-active{background:#e9f1fc;font-weight:700;color:#1f6fc2}
.ntr-dd .ntr-dd-menu .ntr-dd-flag{font-size:17px}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) .ntr-dd .ntr-dd-menu{background:#0a1f3f;border-color:rgba(80,178,253,.18)}
  html:not(.vis-light) .ntr-dd .ntr-dd-menu a{color:#e8f2ff}
  html:not(.vis-light) .ntr-dd .ntr-dd-menu a:hover, html:not(.vis-light) .ntr-dd .ntr-dd-menu .ntr-dd-active{background:rgba(80,178,253,.14);color:#7fc1ff}
}

  html.vis-dark .ntr-dd .ntr-dd-menu{background:#0a1f3f;border-color:rgba(80,178,253,.18)}
  html.vis-dark .ntr-dd .ntr-dd-menu a{color:#e8f2ff}
  html.vis-dark .ntr-dd .ntr-dd-menu a:hover, html.vis-dark .ntr-dd .ntr-dd-menu .ntr-dd-active{background:rgba(80,178,253,.14);color:#7fc1ff}


@media (max-width:900px){.ntr-dd .ntr-dd-menu{right:auto;left:0}}

/* ════════════════════════════════════════════════════════════════════════
   ITÉRATION 11 — chasse au "clair sur clair" (textes codés clairs du design
   sombre, invisibles sur fond clair) — encre explicite en mode CLAIR.
   ════════════════════════════════════════════════════════════════════════ */
/* NAVBAR sur page à hero CLAIR (about/services…) : texte ENCRE explicite (anti blanc-sur-blanc) */
@media (min-width:901px) and (prefers-color-scheme:light){
  html:not(.vis-dark) body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header a, html:not(.vis-dark) body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .site-title a, html:not(.vis-dark) body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .menu-item > a, html:not(.vis-dark) body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .cmt-header-icon a, html:not(.vis-dark) body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .menu-toggle, html:not(.vis-dark) body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .cmt-devfox-icon-basket, html:not(.vis-dark) body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .cmt-devfox-icon-bars{color:#0b1b33!important;text-shadow:none!important}
}
@media (min-width:901px){
  html.vis-light body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header a, html.vis-light body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .site-title a, html.vis-light body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .menu-item > a, html.vis-light body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .cmt-header-icon a, html.vis-light body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .menu-toggle, html.vis-light body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .cmt-devfox-icon-basket, html.vis-light body.nlm-skin.nlm-hero-page:not(.nlm-darktitle) #site-header .cmt-devfox-icon-bars{color:#0b1b33!important;text-shadow:none!important}
}

/* CONTENU : titres/labels/hover codés en CLAIR → encre/bleu sur fond clair (toutes tailles) */
@media (prefers-color-scheme:light){
  html:not(.vis-dark) .nlm-root .nlm-hero2-title, html:not(.vis-dark) .nlm-root .nlm-sec-title{color:#0b1b33!important}
  html:not(.vis-dark) .nlm-root .nlm-hero2-title-line2{color:#1f6fc2!important}
  html:not(.vis-dark) .nlm-root .nlm-svc__desc b{color:#0b1b33!important}
  html:not(.vis-dark) .nlm-root .nlm-hero2-scroll span{color:rgba(70,90,120,.55)!important}
  /* hover de carte : le titre ne devient plus BLANC (invisible) → bleu */
  html:not(.vis-dark) .nlm-root .nlm-svc:hover .nlm-svc__title, html:not(.vis-dark) .nlm-root .nlm-lcard:hover .nlm-lcard__title{color:#1f6fc2!important}
  /* filigranes "ghost" (EXPERT EN DOMOTIQUE, QUALITÉ, …) toutes variantes : visibles */
  html:not(.vis-dark) .nlm-root .nlm-bigtitle{color:rgba(11,27,51,.20)!important}
  /* l'accent <b> du bigtitle garde sa couleur de catégorie (bleu/ambre/violet), déjà lisible sur clair */
}

  html.vis-light .nlm-root .nlm-hero2-title, html.vis-light .nlm-root .nlm-sec-title{color:#0b1b33!important}
  html.vis-light .nlm-root .nlm-hero2-title-line2{color:#1f6fc2!important}
  html.vis-light .nlm-root .nlm-svc__desc b{color:#0b1b33!important}
  html.vis-light .nlm-root .nlm-hero2-scroll span{color:rgba(70,90,120,.55)!important}
  /* hover de carte : le titre ne devient plus BLANC (invisible) → bleu */
  html.vis-light .nlm-root .nlm-svc:hover .nlm-svc__title, html.vis-light .nlm-root .nlm-lcard:hover .nlm-lcard__title{color:#1f6fc2!important}
  /* filigranes "ghost" (EXPERT EN DOMOTIQUE, QUALITÉ, …) toutes variantes : visibles */
  html.vis-light .nlm-root .nlm-bigtitle{color:rgba(11,27,51,.20)!important}
  /* l'accent <b> du bigtitle garde sa couleur de catégorie (bleu/ambre/violet), déjà lisible sur clair */



/* ════════════════════════════════════════════════════════════════════════
   ITÉRATION 12 — retours mobiles : (A) trop d'espace en haut, (B) sélecteur
   de langue entre logo et chariot, (C) carrousel prestations affiné.
   ════════════════════════════════════════════════════════════════════════ */
/* (A) Le grand padding-top des héros (140/120/104px) = dégagement de la NAVBAR
   TRANSPARENTE desktop qui RECOUVRE le héros. Sur MOBILE la navbar est la barre
   Devfox SOLIDE (hors recouvrement) → ce dégagement devient un vide. On le réduit. */
@media (max-width:900px){
  body.nlm-skin .nlm-root .nlm-head{padding-top:46px!important}
  body.nlm-skin .nlm-root .nlm-hero2-content{padding-top:54px!important}
  body.nlm-skin .nlm-root .nlm-contact{min-height:auto!important;align-items:flex-start!important;padding-top:44px!important}
  body.nlm-skin .nlm-root .nlm-c-stage{padding-top:0!important}
  body.nlm-skin .nlm-root .nlm-col-title{padding-top:46px!important}   /* slider ACCUEIL : retire le dégagement navbar desktop */
}
@media (max-width:600px){
  body.nlm-skin .nlm-root .nlm-head{padding-top:38px!important}
  body.nlm-skin .nlm-root .nlm-hero2-content{padding-top:44px!important}
  body.nlm-skin .nlm-root .nlm-contact{padding-top:34px!important}
  body.nlm-skin .nlm-root .nlm-col-title{padding-top:38px!important}
}
/* (B) [RETIRÉ] Le positionnement absolu du sélecteur de langue (entre logo et
   chariot) ajoutait `position:relative` à #site-header-main, ce qui changeait le
   parent de référence du bouton `.menu-toggle` (positionné absolu, top:21px) du
   thème → hamburger décalé + clic intercepté. Annulé : le sélecteur reste inline
   dans la barre d'icônes (à côté du panier), comportement natif du toggle préservé. */
/* (D) BANDEAU SIDEBAR « pub » : CTA domotique (plus de numéro de tél → lien /contact, copie punchy) */
.nlm-side-cta{display:flex;flex-direction:column;gap:15px}
.nlm-side-btn{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:13px;letter-spacing:.6px;text-transform:uppercase;
  padding:12px 20px;border-radius:3px;text-decoration:none;color:#fff!important;
  background:linear-gradient(135deg,#2b86d9,#16487f);box-shadow:0 14px 30px -16px rgba(31,111,194,.8);transition:transform .25s,box-shadow .25s}
.nlm-side-btn:hover{transform:translateY(-2px);box-shadow:0 20px 38px -16px rgba(31,111,194,.9)}
.nlm-side-btn i{transition:transform .25s}
.nlm-side-btn:hover i{transform:translateX(4px)}
/* (E) [RETIRÉ] Le menu mobile du thème est DÉJÀ un panneau pleine largeur dépliant
   (`div.nav-menu > ul` : position:absolute, left:0, width:100%, fond #333, texte blanc,
   aligné à gauche) — natif, lisible, qui fonctionne. Mes overrides (fond blanc + encre
   FONCÉE sur ce fond #333, + bagarre de spécificité avec `.cmt-mmmenu-override-yes`)
   le cassaient (texte foncé-sur-foncé / recentré). On laisse 100% le menu natif. */
/* (F) [RETIRÉ] `#menu-toggle{position:relative}` écrasait le `position:absolute`
   (top:21px) natif du thème → hamburger déplacé. Annulé : on laisse le toggle natif. */

/* ════════════════════════════════════════════════════════════════════════
   ITÉRATION 13 — PIED DE PAGE Nilume codé (remplace le footer Devfox) + fixes
   articles/blog/archives. Le footer natif est masqué, le nôtre injecté en
   wp_footer (module nilume-footer.php). Même langage visuel premium.
   ════════════════════════════════════════════════════════════════════════ */
/* footer Devfox masqué partout (son rendu cassait : "double sidebar" sur articles,
   demi-footer sur le blog, liens random, bloc social vide) */
body.nlm-skin #colophon,body.nlm-skin .site-footer:not(.nlm-footer){display:none!important}

.nlm-footer{position:relative;overflow:hidden;background:linear-gradient(180deg,#061226 0%,#040e22 100%);color:#c4d4ec;
  border-top:1px solid rgba(80,178,253,.16);padding:0;z-index:2}
.nlm-footer *{box-sizing:border-box}
.nlm-footer-glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:120%;height:340px;pointer-events:none;
  background:radial-gradient(ellipse 50% 60% at 50% 0%,rgba(43,134,217,.18),transparent 70%)}
.nlm-footer-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:62px 24px 26px;width:100%}
/* HAUT : marque + CTA */
.nlm-footer-top{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;
  padding-bottom:38px;margin-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08)}
.nlm-footer-logo{font-family:'Oswald',sans-serif;font-weight:600;font-size:30px;letter-spacing:1px;color:#fff;text-transform:uppercase;display:inline-block}
.nlm-footer-tagline{font-size:14.5px;line-height:1.75;color:#9fb4d4;margin:12px 0 14px;max-width:520px;text-align:justify}
.nlm-footer-cred{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.5px;color:#7fa8d8;margin:0;display:flex;align-items:center;gap:9px}
.nlm-footer-cred i{color:#50B2FD}
.nlm-footer-cta{background:rgba(255,255,255,.03);border:1px solid rgba(80,178,253,.16);border-radius:5px;padding:24px 26px}
.nlm-footer-cta-k{font-family:'Oswald',sans-serif;font-weight:600;font-size:19px;color:#fff;margin:0 0 6px}
.nlm-footer-cta-s{font-size:13.5px;line-height:1.6;color:#9fb4d4;margin:0 0 16px}
.nlm-footer-btn{display:inline-flex;align-items:center;gap:9px;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.6px;text-transform:uppercase;color:#fff!important;text-decoration:none;padding:12px 22px;border-radius:3px;
  background:linear-gradient(135deg,#2b86d9,#16487f);box-shadow:0 14px 30px -16px rgba(31,111,194,.9);transition:transform .25s,box-shadow .25s}
.nlm-footer-btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(31,111,194,1)}
.nlm-footer-btn i{transition:transform .25s}.nlm-footer-btn:hover i{transform:translateX(4px)}
/* BAS : 4 colonnes */
.nlm-footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-bottom:34px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08)}
.nlm-footer-h{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#fff;margin:0 0 16px}
.nlm-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.nlm-footer-col a{color:#9fb4d4;text-decoration:none;font-size:14px;transition:color .2s,padding-left .2s;position:relative}
.nlm-footer-col a:hover{color:#fff;padding-left:5px}
.nlm-footer-static{color:#7e93b4;font-size:13px;display:inline-flex;align-items:center;gap:8px}
.nlm-footer-static i{color:#50B2FD;font-size:12px}
/* barre de bas de page */
.nlm-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.nlm-footer-copy,.nlm-footer-sign,.nlm-footer-by{font-size:12.5px;color:#7e93b4;margin:0}
.nlm-footer-sign{font-family:'Rajdhani',sans-serif;font-weight:600;letter-spacing:.4px}
.nlm-footer-by a{color:#9fb4d4;text-decoration:none;border-bottom:1px solid rgba(159,180,212,.3);transition:color .2s,border-color .2s}
.nlm-footer-by a:hover{color:#fff;border-color:#fff}
@media(max-width:880px){
  .nlm-footer-top{grid-template-columns:1fr;gap:26px}
  .nlm-footer-cols{grid-template-columns:repeat(2,1fr);gap:26px 20px}
  .nlm-footer-inner{padding:48px 22px 24px}
}
@media(max-width:480px){.nlm-footer-cols{grid-template-columns:1fr 1fr}.nlm-footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}}
/* en mode CLAIR auto : le footer reste sombre (ancre premium), c'est volontaire */

/* ════ ARCHIVES D'ARTICLES (catégorie / tag) : titre thémé ════
   Devfox hardcode « Category Archives: X » (hors get_the_archive_title, donc le
   filtre PHP ne suffit pas). On NEUTRALISE le préfixe (font-size:0) et on garde
   le nom de catégorie + un eyebrow « Actualités » → cohérent avec le reste. */
body.nlm-skin.archive .cmt-title-wrapper .entry-title{font-size:0!important;line-height:0!important;letter-spacing:0!important}
body.nlm-skin.archive .cmt-title-wrapper .entry-title::before{
  content:'Actualités';display:block;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:13px;letter-spacing:3px;
  text-transform:uppercase;color:#7fc1ff;margin-bottom:9px;line-height:1}
body.nlm-skin.archive .cmt-title-wrapper .entry-title .cmt-titlebar-heading{
  font-family:'Oswald',sans-serif!important;font-weight:600!important;text-transform:uppercase!important;color:#fff!important;
  font-size:clamp(28px,4.6vw,50px)!important;line-height:1.06!important;display:inline-block;letter-spacing:.5px}

/* ════════════════════════════════════════════════════════════════════════
   ITÉRATION 14 — page Services : espacements catégorie/carrousel équilibrés ;
   menu mobile déplié aligné À GAUCHE (le thème est réglé « menu centré »).
   ════════════════════════════════════════════════════════════════════════ */
/* (1+2) sections catégorie : moins d'air en HAUT (et en bas) → le carrousel ne
   « tombe » plus dans un grand vide en dessous, équilibré avec le dessus. */
body.nlm-skin .nlm-cat-aut,body.nlm-skin .nlm-cat-lig,
body.nlm-skin .nlm-cat-sec,body.nlm-skin .nlm-cat-com{padding-top:52px!important;padding-bottom:48px!important}
@media(max-width:600px){
  body.nlm-skin .nlm-cat-aut,body.nlm-skin .nlm-cat-lig,
  body.nlm-skin .nlm-cat-sec,body.nlm-skin .nlm-cat-com{padding-top:34px!important;padding-bottom:34px!important}
}
/* (2) titre du carrousel (« Nos prestations … ») : un petit espace au-dessus (plus
   collé aux cartes), du même ordre que l'espace en dessous. */
.nlm-pz-root{margin:clamp(30px,4vw,42px) 0 0!important}
/* (3) un petit espace entre la rangée titre/flèches et les cartes. */
.nlm-pz-head{margin-bottom:26px!important}
/* (menu mobile : plus aucun override Nilume → comportement 100% natif du thème) */

/* ════ BANDEAU COOKIES `.nlm-cookie` (consentement, thème Nilume) ════ */
.nlm-cookie{position:fixed;left:0;bottom:0;z-index:9999;padding:0 0 18px 18px;pointer-events:none}
.nlm-cookie[hidden]{display:none}
.nlm-cookie-inner{pointer-events:auto;max-width:340px;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:13px;
  background:linear-gradient(160deg,#0a1f3f,#061226);border:1px solid rgba(80,178,253,.22);border-radius:12px;
  padding:16px 18px;box-shadow:0 22px 50px -26px rgba(0,0,0,.65);
  transform:translateY(16px);opacity:0;transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .32s}
@media(max-width:480px){.nlm-cookie{right:0;padding:0 14px 14px}.nlm-cookie-inner{max-width:none}}
.nlm-cookie.is-in .nlm-cookie-inner{transform:none;opacity:1}
.nlm-cookie-txt{min-width:0}
.nlm-cookie-h{display:flex;align-items:center;gap:9px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;color:#fff;text-transform:uppercase;letter-spacing:.4px}
.nlm-cookie-h i{color:#50B2FD}
.nlm-cookie-txt p{margin:7px 0 0;font-size:13px;line-height:1.6;color:#aebfdc;text-align:left}
.nlm-cookie-btns{display:flex;gap:10px;justify-content:flex-end}
.nlm-cookie-btn{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.6px;text-transform:uppercase;
  padding:11px 20px;border-radius:3px;cursor:pointer;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.nlm-cookie-btn:hover{transform:translateY(-2px)}
.nlm-cookie-no{background:transparent;border-color:rgba(174,191,220,.32);color:#cdddf5}
.nlm-cookie-no:hover{border-color:#aebfdc;color:#fff}
.nlm-cookie-yes{background:linear-gradient(135deg,#2b86d9,#16487f);color:#fff;box-shadow:0 12px 26px -14px rgba(31,111,194,.9)}
.nlm-cookie-yes:hover{box-shadow:0 18px 34px -14px rgba(31,111,194,1)}
@media(max-width:560px){
  .nlm-cookie{padding:0 10px 10px}
  .nlm-cookie-inner{padding:16px 18px;gap:14px}
  .nlm-cookie-btns{width:100%}.nlm-cookie-btn{flex:1}
}

/* ════ PRESTATIONS (cmt_service) : images générées IA retirées ════
   La colonne image (.cmt-col-wrapper-bg-layer) est masquée et la colonne texte
   passe en PLEINE LARGEUR → mise en forme préservée, pas de demi-colonne vide. */
body.nlm-skin.single-cmt_service .cmt-col-wrapper-bg-layer{display:none!important}
body.nlm-skin.single-cmt_service .row .col-md-6:has(.cmt-col-wrapper-bg-layer),
body.nlm-skin.single-cmt_service .row .col-sm-6:has(.cmt-col-wrapper-bg-layer){display:none!important}
body.nlm-skin.single-cmt_service .row:has(.cmt-col-wrapper-bg-layer) > .col-md-6:not(:has(.cmt-col-wrapper-bg-layer)),
body.nlm-skin.single-cmt_service .row:has(.cmt-col-wrapper-bg-layer) > .col-sm-6:not(:has(.cmt-col-wrapper-bg-layer)){
  flex:0 0 100%!important;max-width:100%!important;width:100%!important;float:none!important}

/* ── STATUT FORMULAIRE (backend Nilume Forms) ─────────────────────────────
   Message inline après soumission de #nlmForm / #nlmCForm. Discret, lisible
   en clair comme en sombre, couleurs sémantiques succès/erreur. */
.nlm-form-status{
  margin:.85rem 0 0;padding:.7rem .9rem;border-radius:10px;
  font-size:.92rem;line-height:1.45;font-weight:600;
  border:1px solid transparent;
}
.nlm-form-status[data-kind="wait"]{
  background:rgba(120,130,150,.12);border-color:rgba(120,130,150,.28);color:#5b6472}
.nlm-form-status[data-kind="ok"]{
  background:rgba(34,160,90,.12);border-color:rgba(34,160,90,.40);color:#1c7c47}
.nlm-form-status[data-kind="err"]{
  background:rgba(210,60,60,.10);border-color:rgba(210,60,60,.38);color:#b23535}
@media (prefers-color-scheme:dark){
  html:not(.vis-light) .nlm-form-status[data-kind="wait"]{color:#aab3c2}
  html:not(.vis-light) .nlm-form-status[data-kind="ok"]{background:rgba(48,200,120,.14);color:#5fe0a0}
  html:not(.vis-light) .nlm-form-status[data-kind="err"]{background:rgba(255,90,90,.14);color:#ff8a8a}
}

  html.vis-dark .nlm-form-status[data-kind="wait"]{color:#aab3c2}
  html.vis-dark .nlm-form-status[data-kind="ok"]{background:rgba(48,200,120,.14);color:#5fe0a0}
  html.vis-dark .nlm-form-status[data-kind="err"]{background:rgba(255,90,90,.14);color:#ff8a8a}



/* ── Dark-mode : blocs de contenu devfox restés CLAIRS (« trop lumineux ») ────
   cmt-bgcolor-grey / -white ne s'inversaient pas en sombre → le texte (éclairci
   pour le sombre) devenait illisible sur fond clair. On passe ces blocs en
   sombre + on garantit la lisibilité du texte et des titres. (Prestations, etc.) */
@media (prefers-color-scheme:dark){
  html:not(.vis-light) body.nlm-skin [class*="bgcolor-grey"], html:not(.vis-light) body.nlm-skin [class*="bgcolor-white"]{background-color:#0c1c34!important;border-color:rgba(255,255,255,.07)!important}
  html:not(.vis-light) body.nlm-skin [class*="bgcolor-grey"], html:not(.vis-light) body.nlm-skin [class*="bgcolor-grey"] p, html:not(.vis-light) body.nlm-skin [class*="bgcolor-grey"] li, html:not(.vis-light) body.nlm-skin [class*="bgcolor-grey"] span, html:not(.vis-light) body.nlm-skin [class*="bgcolor-white"], html:not(.vis-light) body.nlm-skin [class*="bgcolor-white"] p, html:not(.vis-light) body.nlm-skin [class*="bgcolor-white"] li, html:not(.vis-light) body.nlm-skin [class*="bgcolor-white"] span{color:#c7d4ea!important}
  html:not(.vis-light) body.nlm-skin [class*="bgcolor-grey"] :is(h1,h2,h3,h4,h5,h6,strong), html:not(.vis-light) body.nlm-skin [class*="bgcolor-white"] :is(h1,h2,h3,h4,h5,h6,strong){color:#fff!important}
}

  html.vis-dark body.nlm-skin [class*="bgcolor-grey"], html.vis-dark body.nlm-skin [class*="bgcolor-white"]{background-color:#0c1c34!important;border-color:rgba(255,255,255,.07)!important}
  html.vis-dark body.nlm-skin [class*="bgcolor-grey"], html.vis-dark body.nlm-skin [class*="bgcolor-grey"] p, html.vis-dark body.nlm-skin [class*="bgcolor-grey"] li, html.vis-dark body.nlm-skin [class*="bgcolor-grey"] span, html.vis-dark body.nlm-skin [class*="bgcolor-white"], html.vis-dark body.nlm-skin [class*="bgcolor-white"] p, html.vis-dark body.nlm-skin [class*="bgcolor-white"] li, html.vis-dark body.nlm-skin [class*="bgcolor-white"] span{color:#c7d4ea!important}
  html.vis-dark body.nlm-skin [class*="bgcolor-grey"] :is(h1,h2,h3,h4,h5,h6,strong), html.vis-dark body.nlm-skin [class*="bgcolor-white"] :is(h1,h2,h3,h4,h5,h6,strong){color:#fff!important}


/* Pages de texte (mentions/confidentialité, full-width) : éviter le bloc blanc
   « trop lumineux » en sombre — fond sombre + texte clair. */
@media (prefers-color-scheme:dark){
  html:not(.vis-light) body.nlm-skin.page .cmt-bgcolor-custom:not(.site-header):not(.cmt-stickable-wrapper){background-color:transparent!important}
}

  html.vis-dark body.nlm-skin.page .cmt-bgcolor-custom:not(.site-header):not(.cmt-stickable-wrapper){background-color:transparent!important}



/* Barre d'icônes recréée par JS quand le thème ne la rend plus (ex. WooCommerce off).
   Reprend le placement natif (absolue, haut-droite) mais centrée verticalement + inline. */
/* ── Outils d'entête INLINE en fin de menu (langue + toggle) — approche robuste ──
   (sélecteur de langue + toggle restent des <li> du menu principal ; positionnés par
   le flux normal, donc immunisés contre la position absolue/clone sticky du thème). */
#menu-main-menu > li.ntr-menu-switcher{margin-left:18px;display:flex;align-items:center}
#menu-main-menu > li.nlm-toggle-li{display:flex;align-items:center;margin-left:4px}
#menu-main-menu .ntr-menu-switcher.ntr-dd{position:relative}
#menu-main-menu .nlm-toggle-li > *:not(.vis-theme-toggle){display:none!important} /* masque tout parasite ajouté par le thème */
#menu-main-menu .nlm-toggle-li .vis-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;cursor:pointer;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit;padding:0;margin:0;opacity:.82;transition:opacity .25s,color .25s,transform .25s}
#menu-main-menu .nlm-toggle-li .vis-theme-toggle:hover{opacity:1;color:var(--blue-bright,#2b86d9);transform:translateY(-1px)}
#menu-main-menu .nlm-toggle-li::after,#menu-main-menu .nlm-toggle-li::before{display:none!important;content:none!important}
/* dropdown langue : ouverture pilotée par .is-open uniquement */
#menu-main-menu .ntr-dd > .ntr-dd-menu{display:none!important}
#menu-main-menu .ntr-dd.is-open > .ntr-dd-menu{display:block!important}
/* layout des items FORCÉ (drapeau à gauche, texte à droite) — neutralise toute règle
   de menu du thème devfox qui flotte/positionne/transforme les <span> (cause du chevauchement) */
#menu-main-menu .ntr-dd .ntr-dd-menu li{margin:0!important;padding:0!important;float:none!important;width:100%!important;list-style:none!important}
#menu-main-menu .ntr-dd .ntr-dd-menu a{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:auto!important;min-width:0!important;float:none!important;position:static!important;text-align:left!important;padding:9px 14px!important;text-transform:none!important;white-space:nowrap!important}
#menu-main-menu .ntr-dd .ntr-dd-menu a > span{position:static!important;float:none!important;transform:none!important;margin:0!important;inset:auto!important;width:auto!important;display:inline-block!important;line-height:1.3!important}
/* Drapeaux RETIRÉS de la LISTE déroulante (cause du chevauchement, insoluble en flex à cause
   de la cascade devfox) → nom de langue seul et propre. Le drapeau du bouton courant reste. */
.ntr-dd .ntr-dd-menu .ntr-dd-flag{display:none!important}
#menu-main-menu .ntr-dd .ntr-dd-menu a{justify-content:flex-start!important;gap:0!important;padding-left:15px!important}
#menu-main-menu .ntr-dd .ntr-dd-menu a::before,#menu-main-menu .ntr-dd .ntr-dd-menu a::after{display:none!important;content:none!important}
/* ── MOBILE (burger devfox, ≤1200px) : langues en LISTE STATIQUE (le clic est capté par
   le thème), chevron du thème masqué, pas de boîte parasite ── */
@media(max-width:1200px){
  #menu-main-menu > li.ntr-menu-switcher,#menu-main-menu > li.nlm-toggle-li{margin-left:0!important;display:block!important;width:100%!important}
  #menu-main-menu .ntr-menu-switcher > *:not(.ntr-dd-toggle):not(.ntr-dd-menu){display:none!important} /* chevron ajouté par le thème */
  #menu-main-menu .ntr-dd > .ntr-dd-toggle{display:none!important}
  #menu-main-menu .ntr-dd > .ntr-dd-menu{display:block!important;position:static!important;box-shadow:none!important;border:0!important;background:transparent!important;min-width:0!important;width:auto!important;padding:2px 0!important;animation:none!important}
  #menu-main-menu .ntr-dd .ntr-dd-menu a{padding:10px 0!important}
  #menu-main-menu .nlm-toggle-li{padding:8px 0!important}
  #menu-main-menu .nlm-toggle-li .vis-theme-toggle{width:42px;height:42px}
}

/* ══════════ TOGGLE thème clair/sombre (bouton barre d'icônes) ══════════ */
.cmt-header-icons .vis-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;cursor:pointer;background:transparent;border:0;color:inherit;padding:0;margin:0 2px;opacity:.82;transition:opacity .25s,color .25s,transform .25s}
.cmt-header-icons .vis-theme-toggle:hover{opacity:1;color:var(--blue-bright,#2b86d9);transform:translateY(-1px)}
.vis-theme-toggle svg{width:19px;height:19px;display:block}
.vis-theme-toggle .vis-ic-moon{display:none}
.vis-theme-toggle .vis-ic-sun{display:block}
html.vis-dark .vis-theme-toggle .vis-ic-sun{display:none}
html.vis-dark .vis-theme-toggle .vis-ic-moon{display:block}
@media (prefers-color-scheme:dark){html:not(.vis-light) .vis-theme-toggle .vis-ic-sun{display:none}html:not(.vis-light) .vis-theme-toggle .vis-ic-moon{display:block}}
