:root{--ink:#171b1a;--paper:#fbfaf7;--petrol:#246d70;--petrol-dark:#174f50;--rose:#c98291;--mist:#edf2ef;--line:#dce4df;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--petrol-dark)}.nm-shell{width:min(calc(100% - 44px),var(--max));margin-inline:auto}.nm-skip{position:absolute;left:-9999px}.nm-skip:focus{left:18px;top:18px;z-index:9999;background:#fff;padding:10px}
.nm-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,27,26,.08)}.nm-header__inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:36px}.nm-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:var(--ink);text-decoration:none}.nm-brand .custom-logo-link{display:flex}.nm-brand img{width:39px;height:39px;border-radius:50%;object-fit:cover}.nm-brand strong{font-size:1.02rem;letter-spacing:.035em;white-space:nowrap}.nm-brand strong span{color:var(--petrol);font-style:italic}.nm-menu{display:flex;align-items:center;gap:clamp(15px,2.2vw,31px);list-style:none;margin:0;padding:0}.nm-menu a{text-decoration:none;color:var(--ink);font-size:.86rem;font-weight:600;white-space:nowrap}.nm-menu a:hover,.nm-menu .current-menu-item>a{color:var(--petrol)}.nm-nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px}.nm-burger,.nm-burger:before,.nm-burger:after{display:block;width:23px;height:1.5px;background:var(--ink);content:"";position:relative}.nm-burger:before{position:absolute;top:-7px}.nm-burger:after{position:absolute;top:7px}
.nm-hero{min-height:calc(100vh - 76px);display:flex;align-items:center;padding:clamp(70px,9vw,125px) 0;background:radial-gradient(circle at 82% 35%,rgba(201,130,145,.10),transparent 23%),linear-gradient(180deg,#fbfaf7 0%,#f7f8f5 100%)}.nm-hero__grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.45fr);gap:clamp(45px,8vw,110px);align-items:center}.nm-kicker{display:flex;align-items:center;gap:13px;text-transform:uppercase;letter-spacing:.17em;font-size:.69rem;font-weight:750;color:var(--petrol-dark)}.nm-kicker span{width:31px;height:1px;background:var(--petrol-dark)}h1{font-size:clamp(2.8rem,5.65vw,5.25rem);line-height:1.015;letter-spacing:-.052em;max-width:900px;margin:.3em 0}.nm-hero h1 em{font-style:normal;color:var(--petrol);font-weight:650}.nm-lead{font-size:clamp(1rem,1.35vw,1.18rem);max-width:710px;color:#46504c}.nm-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:31px}.nm-button{display:inline-block;padding:12px 18px;border-radius:999px;background:var(--ink);color:white;text-decoration:none;font-size:.9rem}.nm-textlink{text-decoration:none;font-weight:650;font-size:.9rem}.nm-eye-note{border-left:1px solid var(--rose);padding:12px 0 12px 27px}.nm-eye-note__index{display:block;font-size:.62rem;letter-spacing:.16em;color:#777;margin-bottom:22px}.nm-eye-note strong{display:block;font-family:Georgia,serif;font-size:clamp(1.7rem,2.5vw,2.55rem);font-weight:400;line-height:1.18}.nm-eye-note p{font-size:.83rem;color:#65706b;max-width:220px;margin-top:22px}
.nm-section{padding:clamp(72px,9vw,120px) 0}.nm-section--line{border-top:1px solid var(--line)}.nm-section--soft{background:var(--mist)}.nm-section-head{display:grid;grid-template-columns:.45fr 1.3fr .8fr;gap:45px;align-items:start}.nm-section h2{font-size:clamp(2.1rem,4vw,4rem);line-height:1.04;letter-spacing:-.04em;margin:0}.nm-section-head>p:last-child{margin:0;color:#52605a}.nm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:65px}.nm-cards article{padding:30px;border-top:1px solid var(--ink);background:rgba(255,255,255,.35)}.nm-cards small{color:var(--petrol-dark);font-size:.66rem;font-weight:750;letter-spacing:.11em}.nm-cards h3{font-size:1.42rem;margin:.7em 0 .35em}.nm-cards p{color:#56605c}.nm-project-callout{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.nm-project-callout>p{font-size:1.08rem;color:#46504c}.nm-prose{max-width:820px}.nm-prose h1{font-size:clamp(2.3rem,5vw,4.5rem)}.nm-breadcrumb{font-size:.8rem;margin-bottom:30px;color:#6b7470}
.nm-footer{padding:55px 0 28px;background:var(--ink);color:#eef3f0}.nm-footer a{color:#eef3f0}.nm-footer__grid{display:flex;justify-content:space-between;gap:40px}.nm-footer__grid p{color:#aeb8b3}.nm-footer-menu{display:flex;gap:22px;list-style:none;margin:0;padding:0}.nm-footer__legal{border-top:1px solid #38403d;margin-top:35px;padding-top:20px;font-size:.8rem;color:#9da7a2}
@media(max-width:980px){.nm-header__inner{height:68px}.nm-nav-toggle{display:flex;align-items:center;justify-content:center}.nm-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 22px 22px}.nm-nav.is-open{display:block}.nm-menu{display:block}.nm-menu li{border-bottom:1px solid var(--line)}.nm-menu a{display:block;padding:14px 3px;font-size:1rem}.nm-hero{min-height:auto}.nm-hero__grid{grid-template-columns:1fr;gap:48px}.nm-eye-note{max-width:320px}.nm-section-head{grid-template-columns:1fr;gap:20px}.nm-cards{grid-template-columns:1fr;margin-top:45px}.nm-project-callout{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.nm-shell{width:min(calc(100% - 30px),var(--max))}.nm-brand strong{font-size:.92rem}.nm-brand img{width:34px;height:34px}.nm-hero{padding:62px 0 70px}.nm-hero h1{font-size:clamp(2.55rem,12.5vw,4rem)}.nm-lead{font-size:1rem}.nm-eye-note{display:none}.nm-section{padding:68px 0}.nm-footer__grid{display:block}.nm-footer-menu{display:block}}


/* v1.1 — logo maîtrisé + navigation visible + animation subtile */
.nm-brand__logo{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;overflow:hidden;border-radius:50%}
.nm-brand__logo .custom-logo-link{display:flex!important;align-items:center;justify-content:center;width:42px!important;height:42px!important;margin:0!important;padding:0!important}
.nm-brand__logo img,
.nm-brand__logo .custom-logo{display:block!important;width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;object-fit:cover!important;margin:0!important;padding:0!important}
.nm-menu__contact a{padding:8px 14px;border:1px solid rgba(23,27,26,.2);border-radius:999px}
.nm-menu__contact a:hover{border-color:var(--petrol);background:rgba(36,109,112,.06)}
.nm-hero{position:relative;overflow:hidden}
.nm-hero:after{content:"";position:absolute;right:-8vw;top:16%;width:28vw;height:28vw;min-width:220px;min-height:220px;border:1px solid rgba(36,109,112,.08);border-radius:50%;pointer-events:none;animation:nm-orbit 18s ease-in-out infinite alternate}
.nm-eye-note{position:relative;z-index:1}
.nm-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.nm-reveal.is-visible{opacity:1;transform:none}
.nm-cards article:nth-child(2){transition-delay:.07s}
.nm-cards article:nth-child(3){transition-delay:.14s}
@keyframes nm-orbit{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-24px,16px,0) scale(1.06)}
}
@media (prefers-reduced-motion: reduce){
  .nm-hero:after{animation:none}
  .nm-reveal{opacity:1!important;transform:none!important;transition:none!important}
}
@media(max-width:980px){
  .nm-brand__logo,.nm-brand__logo .custom-logo-link,.nm-brand__logo img,.nm-brand__logo .custom-logo{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important;flex-basis:36px}
  .nm-menu__contact a{border:0;border-radius:0;padding:14px 3px}
}

/* v1.2 structural header */
.nm-header{position:sticky!important;top:0!important;z-index:999!important;background:rgba(251,250,247,.94)!important;border-bottom:1px solid rgba(23,27,26,.09)!important}
.nm-header__inner{height:72px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px!important}
.nm-brand{display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;min-width:max-content!important}
.nm-logo-crop{width:46px!important;height:46px!important;display:block!important;overflow:hidden!important;border-radius:50%!important;flex:0 0 46px!important;background:#fff!important}
.nm-logo-crop img{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important;object-fit:cover!important;display:block!important}
.nm-logo-mark{width:38px;height:38px;border:1px solid var(--petrol);border-radius:50%;display:grid;place-items:center;color:var(--petrol)}
.nm-wordmark{font-weight:850!important;font-size:1rem!important;letter-spacing:.045em!important;color:var(--ink)!important;line-height:1!important}
.nm-wordmark>span{color:var(--petrol)!important}
.nm-nav{margin-left:auto!important}
.nm-menu{display:flex!important;align-items:center!important;gap:clamp(14px,1.75vw,27px)!important;list-style:none!important;margin:0!important;padding:0!important}
.nm-menu a{font-size:.82rem!important;letter-spacing:.01em!important}
.nm-menu__contact a{padding:8px 13px!important}
.nm-hero{min-height:680px!important;position:relative!important;overflow:hidden!important;padding:clamp(90px,10vw,145px) 0!important}
.nm-hero:after{display:none!important}
.nm-hero__grid{position:relative!important;z-index:2!important;grid-template-columns:minmax(0,1.5fr) minmax(210px,.42fr)!important}
.nm-hero h1{font-size:clamp(3rem,5.4vw,5.35rem)!important;max-width:850px!important}
.nm-manifesto{border-left:1px solid rgba(201,130,145,.75);padding-left:25px}
.nm-manifesto>span{font-size:.61rem;letter-spacing:.15em;color:#75807b}
.nm-manifesto p{font-family:Georgia,serif;font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.22;margin:20px 0}
.nm-manifesto b{font-weight:400}
.nm-manifesto small{color:#6b7570}
.nm-network{position:absolute;inset:0;pointer-events:none;opacity:.38}
.nm-network:before,.nm-network:after{content:"";position:absolute;border:1px solid rgba(36,109,112,.10);border-radius:50%;width:430px;height:430px;right:-90px;top:80px;animation:nm-drift 20s ease-in-out infinite alternate}
.nm-network:after{width:250px;height:250px;right:100px;top:270px;border-color:rgba(201,130,145,.11);animation-duration:25s}
.nm-network i{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(36,109,112,.24);animation:nm-node 8s ease-in-out infinite alternate}
.nm-network i:nth-child(1){left:66%;top:22%}.nm-network i:nth-child(2){left:75%;top:42%;animation-delay:-2s}.nm-network i:nth-child(3){left:87%;top:28%;animation-delay:-4s}.nm-network i:nth-child(4){left:70%;top:68%;animation-delay:-1s}.nm-network i:nth-child(5){left:91%;top:60%;animation-delay:-5s}.nm-network i:nth-child(6){left:82%;top:77%;animation-delay:-3s}
@keyframes nm-drift{to{transform:translate(-28px,18px) scale(1.045)}}
@keyframes nm-node{to{transform:translate(14px,-10px);opacity:.35}}
@media(max-width:980px){
 .nm-header__inner{height:66px!important}
 .nm-nav{display:none!important;position:absolute!important;top:66px!important;left:0!important;right:0!important;margin:0!important}
 .nm-nav.is-open{display:block!important}
 .nm-menu{display:block!important}
 .nm-logo-crop,.nm-logo-crop img{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important}
 .nm-logo-crop{flex-basis:38px!important}
 .nm-wordmark{font-size:.9rem!important}
 .nm-hero__grid{grid-template-columns:1fr!important}
 .nm-manifesto{margin-top:30px;max-width:280px}
}
@media(max-width:600px){
 .nm-hero{min-height:auto!important;padding:74px 0 80px!important}
 .nm-manifesto{display:none}
 .nm-network{opacity:.24}
}
@media(prefers-reduced-motion:reduce){.nm-network:before,.nm-network:after,.nm-network i{animation:none!important}}

/* v1.3 — home unique + animation réellement perceptible */
.nm-hero{
  background:
    radial-gradient(circle at 82% 28%, rgba(36,109,112,.11), transparent 28%),
    radial-gradient(circle at 18% 70%, rgba(201,130,145,.055), transparent 26%),
    linear-gradient(180deg,#fbfaf7 0%,#f8faf8 100%)!important;
  animation:nm-breathe 12s ease-in-out infinite alternate;
}
.nm-network{opacity:.72!important}
.nm-orbit{
  position:absolute;
  display:block;
  border-radius:50%;
  pointer-events:none;
}
.nm-orbit--1{
  width:min(52vw,560px);
  height:min(52vw,560px);
  right:-10vw;
  top:7%;
  border:1px solid rgba(36,109,112,.16);
  box-shadow:0 0 0 70px rgba(36,109,112,.018),0 0 0 140px rgba(36,109,112,.012);
  animation:nm-orbit-one 18s ease-in-out infinite alternate;
}
.nm-orbit--2{
  width:190px;
  height:190px;
  right:17%;
  top:48%;
  border:1px solid rgba(201,130,145,.14);
  animation:nm-orbit-two 14s ease-in-out infinite alternate;
}
.nm-network i{
  width:7px!important;
  height:7px!important;
  background:rgba(36,109,112,.34)!important;
  box-shadow:0 0 0 5px rgba(36,109,112,.035);
}
.nm-network i:nth-child(1){animation-duration:6.5s!important}
.nm-network i:nth-child(2){animation-duration:8s!important}
.nm-network i:nth-child(3){animation-duration:7s!important}
.nm-network i:nth-child(4){animation-duration:9s!important}
.nm-network i:nth-child(5){animation-duration:7.5s!important}
.nm-network i:nth-child(6){animation-duration:8.5s!important}

@keyframes nm-breathe{
  from{background-position:0 0,0 0,0 0}
  to{background-position:-26px 18px,18px -12px,0 0}
}
@keyframes nm-orbit-one{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-38px,28px,0) scale(1.055)}
}
@keyframes nm-orbit-two{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(24px,-18px,0)}
}
@media(max-width:600px){
  .nm-network{opacity:.58!important}
  .nm-orbit--1{
    width:420px;
    height:420px;
    right:-250px;
    top:11%;
  }
  .nm-orbit--2{
    width:150px;
    height:150px;
    right:-40px;
    top:62%;
  }
}
@media(prefers-reduced-motion:reduce){
  .nm-hero,.nm-orbit,.nm-network i{animation:none!important}
}

/* v1.3.1 — menu mobile natif, indépendant du JavaScript */
.nm-nav-desktop{margin-left:auto}
.nm-mobile-menu{display:none;position:relative;margin-left:auto}
.nm-mobile-menu>summary{
  list-style:none;
  width:48px;height:48px;
  display:grid;place-items:center;
  cursor:pointer;
  border-radius:50%;
}
.nm-mobile-menu>summary::-webkit-details-marker{display:none}
.nm-mobile-menu>summary::marker{display:none}
.nm-hamburger,
.nm-hamburger::before,
.nm-hamburger::after{
  content:"";
  display:block;
  width:28px;
  height:2px;
  background:var(--ink);
  position:relative;
  transition:transform .25s ease,top .25s ease,opacity .2s ease;
}
.nm-hamburger::before{position:absolute;top:-9px;left:0}
.nm-hamburger::after{position:absolute;top:9px;left:0}
.nm-mobile-menu[open] .nm-hamburger{background:transparent}
.nm-mobile-menu[open] .nm-hamburger::before{top:0;transform:rotate(45deg)}
.nm-mobile-menu[open] .nm-hamburger::after{top:0;transform:rotate(-45deg)}

.nm-mobile-panel{
  position:fixed;
  top:66px;
  left:0;
  right:0;
  z-index:1000;
  background:rgba(251,250,247,.985);
  border-top:1px solid rgba(23,27,26,.08);
  border-bottom:1px solid rgba(23,27,26,.12);
  box-shadow:0 18px 35px rgba(23,27,26,.08);
  padding:14px 22px 24px;
}
.nm-mobile-list{list-style:none;margin:0;padding:0}
.nm-mobile-list li{border-bottom:1px solid rgba(23,27,26,.08)}
.nm-mobile-list li:last-child{border-bottom:0}
.nm-mobile-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 4px;
  color:var(--ink);
  text-decoration:none;
  font-size:1.08rem;
  font-weight:650;
}
.nm-mobile-list a::after{content:"→";color:var(--petrol);font-weight:500}
.nm-mobile-list .nm-menu__contact a{
  margin-top:10px;
  padding:14px 16px!important;
  background:var(--ink);
  color:white;
  border-radius:999px;
  justify-content:center;
}
.nm-mobile-list .nm-menu__contact a::after{content:"";display:none}

@media(max-width:980px){
  .nm-nav-desktop{display:none!important}
  .nm-mobile-menu{display:block!important}
  .nm-header__inner{height:66px!important}
}
@media(min-width:981px){
  .nm-mobile-menu{display:none!important}
  .nm-nav-desktop{display:block!important}
}


/* v1.4 — vrai blog NetMedia */
.nm-blog-hero{padding:clamp(85px,10vw,145px) 0 80px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfaf7,#f7faf8)}
.nm-blog-hero__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:70px;align-items:center}
.nm-blog-hero h1,.nm-category-head h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;letter-spacing:-.055em;margin:.3em 0}
.nm-blog-hero h1 em{font-style:normal;color:var(--petrol);font-weight:600}
.nm-blog-eye{text-align:center}.nm-blog-eye small{display:block;margin-top:24px;font-size:.66rem;letter-spacing:.13em;color:#69736f}
.nm-eye{width:210px;height:140px;margin:auto;position:relative;border:1px solid rgba(23,27,26,.22);border-radius:54% 46% 52% 48% / 58% 56% 44% 42%;transform:rotate(-3deg);animation:nm-eye-breathe 7s ease-in-out infinite alternate}
.nm-eye__ring{position:absolute;border:1px solid rgba(36,109,112,.28);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.nm-eye__ring--1{width:86px;height:86px}.nm-eye__ring--2{width:52px;height:52px;border-color:rgba(201,130,145,.32)}
.nm-eye__pupil{position:absolute;width:18px;height:18px;background:var(--ink);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);animation:nm-pupil 8s ease-in-out infinite alternate}
.nm-eye--small{width:140px;height:90px}.nm-eye--small .nm-eye__ring--1{width:58px;height:58px}.nm-eye--small .nm-eye__ring--2{width:34px;height:34px}.nm-eye--small .nm-eye__pupil{width:12px;height:12px}
@keyframes nm-eye-breathe{to{transform:rotate(-2deg) scaleY(.97)}}
@keyframes nm-pupil{0%,30%{transform:translate(-50%,-50%)}70%,100%{transform:translate(calc(-50% + 9px),calc(-50% - 3px))}}
.nm-blog-index{padding:48px 0 110px}
.nm-topic-nav{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:34px;margin-bottom:38px;border-bottom:1px solid var(--line)}
.nm-topic-nav a{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.78rem;font-weight:650}
.nm-topic-nav a:hover{border-color:var(--petrol);color:var(--petrol)}
.nm-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.nm-post-card{background:#fff;border:1px solid rgba(23,27,26,.08);overflow:hidden}
.nm-post-card--featured{grid-column:1/-1;display:grid;grid-template-columns:1.2fr .8fr}
.nm-post-card__media{display:block;min-height:230px;background:var(--mist);overflow:hidden}
.nm-post-card--featured .nm-post-card__media{min-height:400px}
.nm-post-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.nm-post-card:hover .nm-post-card__media img{transform:scale(1.025)}
.nm-post-card__body{padding:26px}
.nm-post-card__meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#6f7874}
.nm-post-card h2{font-size:clamp(1.55rem,2.5vw,2.4rem);letter-spacing:-.025em;margin:.5em 0 .4em}
.nm-post-card h2 a{text-decoration:none;color:var(--ink)}
.nm-post-card p{color:#59645f}.nm-readmore{text-decoration:none;font-weight:700;font-size:.84rem}
.nm-pagination{margin-top:55px}.nm-pagination .nav-links{display:flex;gap:10px}.nm-pagination a,.nm-pagination span{padding:8px 12px;border:1px solid var(--line);text-decoration:none}
.nm-category-head{padding:80px 0 50px;border-bottom:1px solid var(--line)}.nm-category-desc{max-width:720px;color:#5d6863}
.nm-article__header{padding:85px 0 55px;border-bottom:1px solid var(--line)}
.nm-article__headgrid{display:grid;grid-template-columns:minmax(0,1.3fr) 220px;gap:70px;align-items:center}
.nm-article__meta{display:flex;gap:13px;flex-wrap:wrap;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#6c7671}
.nm-article__meta a{text-decoration:none}
.nm-article h1{font-size:clamp(2.9rem,5.5vw,5.4rem);line-height:1.02;letter-spacing:-.05em;margin:.35em 0 .28em}
.nm-article__dek{font-size:1.18rem;max-width:760px;color:#55615c}.nm-article__byline{font-size:.82rem;color:#6f7974}
.nm-article__cover{margin-top:44px}.nm-article__cover img{width:100%;max-height:660px;object-fit:cover}
.nm-article__layout{display:grid;grid-template-columns:150px minmax(0,760px);gap:55px;justify-content:center;padding-top:70px}
.nm-article__rail{font-size:.68rem;letter-spacing:.11em;color:#727c77;padding-top:6px}.nm-article__rail p{font-family:Georgia,serif;font-size:1.05rem;letter-spacing:0;line-height:1.5;color:var(--petrol)}
.nm-article__content{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;line-height:1.78}
.nm-article__content h2,.nm-article__content h3{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.12;letter-spacing:-.03em;margin-top:2.2em}
.nm-article__content h2{font-size:2rem}.nm-article__content h3{font-size:1.45rem}
.nm-article__content blockquote{margin:2.2em 0;padding:8px 0 8px 24px;border-left:2px solid var(--rose);font-size:1.22rem;color:#39423e}
.nm-article__content img{border-radius:2px}.nm-article__content a{text-decoration-thickness:1px;text-underline-offset:3px}
.nm-article__footer{max-width:980px;padding-top:55px;padding-bottom:90px}.nm-tags{display:flex;gap:8px;flex-wrap:wrap}.nm-tags a{padding:6px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.75rem}
.nm-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:45px;border-top:1px solid var(--line);padding-top:28px}.nm-post-nav a{text-decoration:none;font-weight:650}.nm-post-nav a:last-child{text-align:right}
@media(max-width:850px){
 .nm-blog-hero__grid,.nm-article__headgrid{grid-template-columns:1fr}
 .nm-blog-eye,.nm-article__eye{display:none}
 .nm-post-grid{grid-template-columns:1fr}
 .nm-post-card--featured{grid-column:auto;display:block}
 .nm-post-card--featured .nm-post-card__media{min-height:260px}
 .nm-article__layout{grid-template-columns:1fr;gap:0}
 .nm-article__rail{display:none}
}
@media(max-width:600px){
 .nm-blog-hero{padding:62px 0 55px}
 .nm-blog-hero h1{font-size:clamp(2.7rem,13vw,4rem)}
 .nm-blog-index{padding-top:28px}
 .nm-topic-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:18px}
 .nm-topic-nav a{white-space:nowrap}
 .nm-post-card__body{padding:21px}
 .nm-article__header{padding:58px 0 36px}
 .nm-article__content{font-size:1.05rem}
 .nm-post-nav{grid-template-columns:1fr}
 .nm-post-nav a:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){.nm-eye,.nm-eye__pupil,.nm-post-card__media img{animation:none!important;transition:none!important}}

/* v1.5 — home éditoriale complète */
.nm-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.nm-proof__grid{display:grid;grid-template-columns:repeat(3,1fr) 1.15fr}
.nm-proof__grid>div{padding:27px 25px;border-right:1px solid var(--line)}
.nm-proof__grid>div:first-child{padding-left:0}.nm-proof__grid>div:last-child{border:0}
.nm-proof strong{display:block;font-size:1.7rem;letter-spacing:-.04em}.nm-proof span{display:block;font-size:.76rem;color:#68736e;max-width:180px}
.nm-proof__aside{display:flex;align-items:center}.nm-proof__aside span{font-family:Georgia,serif;font-size:1rem;color:var(--petrol)}
.nm-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:65px}
.nm-service-grid article{background:var(--paper);padding:34px}.nm-service-grid article>span{font-size:.65rem;letter-spacing:.12em;color:var(--rose)}
.nm-service-grid h3{font-size:1.55rem;margin:.6em 0 .3em}.nm-service-grid p{color:#59645f;max-width:470px}.nm-service-grid a{text-decoration:none;font-weight:700;font-size:.82rem}
.nm-explore{background:var(--ink);color:#f5f6f3}.nm-explore .nm-kicker{color:#8fc2c0}.nm-explore .nm-kicker span{background:#8fc2c0}.nm-explore .nm-textlink{color:#d9ecea}
.nm-explore__top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.nm-explore__top h2{margin-top:.25em}
.nm-topic-cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #39413e;border-left:1px solid #39413e}
.nm-topic-card{min-height:270px;padding:27px;border-right:1px solid #39413e;border-bottom:1px solid #39413e;color:#f5f6f3;text-decoration:none;position:relative;transition:background .25s ease}
.nm-topic-card:hover{background:#202725}.nm-topic-card>span{position:absolute;right:24px;top:22px;color:#8fc2c0}.nm-topic-card h3{font-size:1.45rem;margin-top:90px}.nm-topic-card p{font-size:.86rem;color:#aeb8b3}
.nm-latest{background:#f6f7f4}.nm-latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.nm-latest-card{background:#fff;border:1px solid var(--line)}.nm-latest-card__image{display:block;height:230px;background:var(--mist);overflow:hidden;text-decoration:none}.nm-latest-card__image img{width:100%;height:100%;object-fit:cover}.nm-image-fallback{height:100%;display:grid;place-items:center;font-size:1.4rem;font-weight:850;letter-spacing:.08em;color:var(--petrol)}
.nm-latest-card__body{padding:23px}.nm-latest-card small{font-size:.65rem;letter-spacing:.1em;color:#74807a}.nm-latest-card h3{font-size:1.35rem;line-height:1.15}.nm-latest-card h3 a{text-decoration:none;color:var(--ink)}.nm-latest-card p{font-size:.88rem;color:#626d68}
.nm-projects-home{background:var(--paper)}.nm-projects-home__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.nm-projects-home__grid>div:first-child>p:last-of-type{color:#5b6661}
.nm-project-stack{border-top:1px solid var(--ink)}.nm-project-stack a{display:grid;grid-template-columns:.55fr 1fr 1.4fr;gap:25px;align-items:center;padding:27px 5px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.nm-project-stack small{font-size:.61rem;letter-spacing:.11em;color:var(--petrol)}.nm-project-stack strong{font-size:1.25rem}.nm-project-stack span{font-size:.82rem;color:#606b66}
.nm-about-home{padding:110px 0;background:linear-gradient(120deg,#edf4f1,#fbfaf7 62%)}.nm-about-home__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:center}.nm-about-home h2{font-size:clamp(2.4rem,4.6vw,4.5rem);letter-spacing:-.045em;line-height:1.02}.nm-about-home p{max-width:690px;color:#4f5a55}.nm-about-home .nm-button{margin-top:18px}.nm-about-eye{text-align:center}.nm-about-eye small{display:block;margin-top:25px;font-size:.61rem;letter-spacing:.13em;color:#60706a}
.nm-final-cta{padding:100px 0;background:var(--petrol-dark);color:white}.nm-final-cta span{font-size:.65rem;letter-spacing:.15em;color:#acd0ce}.nm-final-cta h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1;letter-spacing:-.045em;margin:.3em 0}.nm-final-cta a{color:white;font-weight:700;text-decoration:none;font-size:1.05rem}
@media(max-width:900px){.nm-proof__grid{grid-template-columns:repeat(2,1fr)}.nm-proof__grid>div{border-bottom:1px solid var(--line)}.nm-topic-cards{grid-template-columns:repeat(2,1fr)}.nm-latest-grid{grid-template-columns:1fr}.nm-projects-home__grid,.nm-about-home__grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:600px){.nm-proof__grid{grid-template-columns:1fr 1fr}.nm-proof__grid>div{padding:20px 14px!important}.nm-proof strong{font-size:1.35rem}.nm-service-grid{grid-template-columns:1fr;margin-top:40px}.nm-service-grid article{padding:25px}.nm-explore__top{display:block}.nm-explore__top>.nm-textlink{display:inline-block;margin-top:15px}.nm-topic-cards{grid-template-columns:1fr}.nm-topic-card{min-height:190px}.nm-topic-card h3{margin-top:50px}.nm-project-stack a{grid-template-columns:1fr;gap:7px}.nm-about-home{padding:75px 0}.nm-about-eye{display:none}.nm-final-cta{padding:75px 0}}

/* v1.5.1 — seul le vrai œil NetMedia est utilisé */
.nm-eye,.nm-eye__ring,.nm-eye__pupil{display:none!important}
.nm-real-eye{position:relative;width:min(260px,70vw);margin:0 auto;display:grid;place-items:center}
.nm-real-eye img{position:relative;z-index:2;width:100%;height:auto;max-height:220px;object-fit:contain;display:block;filter:none!important}
.nm-real-eye__halo{position:absolute;z-index:1;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(36,109,112,.13) 0%,rgba(36,109,112,.045) 42%,transparent 70%);animation:nm-eye-halo 7s ease-in-out infinite alternate}
.nm-real-eye--small{width:135px}.nm-real-eye--small img{max-height:110px}
@keyframes nm-eye-halo{from{transform:scale(.92);opacity:.55}to{transform:scale(1.08);opacity:.9}}
@media(prefers-reduced-motion:reduce){.nm-real-eye__halo{animation:none!important}}


/* v1.6 — densité, cohérence éditoriale, finitions */
.nm-hero__intro{max-width:720px;font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.72}
.nm-hero h1{max-width:880px;text-wrap:balance}
.nm-menu a{position:relative;text-decoration:none}
.nm-menu>li:not(.nm-menu__contact)>a:after{content:"";position:absolute;left:0;right:100%;bottom:-.35rem;height:1px;background:currentColor;transition:right .22s ease}
.nm-menu>li:not(.nm-menu__contact)>a:hover:after,.nm-menu>li:not(.nm-menu__contact)>a:focus-visible:after{right:0}
.nm-services-home h3 a{color:inherit;text-decoration:none}
.nm-services-home h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.nm-editorial-note{margin-top:clamp(2rem,5vw,5rem);margin-bottom:clamp(1rem,3vw,2.5rem);padding:1.15rem 0;border-top:1px solid rgba(23,27,26,.16);border-bottom:1px solid rgba(23,27,26,.16)}
.nm-editorial-note p{margin:0;max-width:920px;font-size:clamp(1rem,1.45vw,1.14rem);line-height:1.65}
.nm-editorial-note strong{letter-spacing:.08em}
.nm-blog-lede{max-width:720px;margin:1rem 0 0;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.65}
.nm-about-eye small{display:block;margin-top:.9rem;letter-spacing:.14em;font-size:.72rem;line-height:1.5}
.nm-real-eye img{border-radius:0}
.nm-real-eye__halo{opacity:.55}
.nm-post-card,.nm-project-card,.nm-service-card{transition:transform .18s ease,box-shadow .18s ease}
.nm-post-card:hover,.nm-project-card:hover,.nm-service-card:hover{transform:translateY(-2px)}
@media(max-width:720px){
  .nm-editorial-note{margin-left:var(--nm-gutter,20px);margin-right:var(--nm-gutter,20px)}
  .nm-menu>li>a:after{display:none}
}

/* v1.6.1 — suppression du bandeau éditorial trop massif */
.nm-editorial-note{display:none!important}


/* =========================================================
   v1.7.0 — TITRES, BLOCS GUTENBERG ET VRAI BLOG
   ========================================================= */

/* Pages classiques */
.nm-page{
  padding:clamp(58px,7vw,95px) 0;
}
.nm-page-header{
  max-width:900px;
  margin:clamp(28px,5vw,60px) 0 clamp(38px,5vw,65px);
}
.nm-page-header h1{
  margin:0;
  max-width:900px;
  font-size:clamp(2.45rem,5vw,4.8rem);
  line-height:1.01;
  letter-spacing:-.05em;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.nm-page-content{
  min-width:0;
}
.nm-page-content > *{
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
.nm-page-content > .alignwide{
  max-width:1180px;
}
.nm-page-content > .alignfull{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* En-tête article : grand, mais jamais gigantesque/coupé */
.nm-article__header{
  padding:clamp(58px,7vw,92px) 0 clamp(42px,5vw,62px);
  overflow:visible;
}
.nm-article__headgrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:clamp(25px,5vw,70px);
  align-items:center;
}
.nm-article__heading{
  min-width:0;
  max-width:1040px;
}
.nm-article__header h1{
  margin:.35em 0 .25em;
  max-width:980px;
  font-size:clamp(2.65rem,5.3vw,5.4rem);
  line-height:.98;
  letter-spacing:-.055em;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  text-wrap:balance;
}
.nm-article__dek{
  max-width:820px;
  font-size:clamp(1.04rem,1.55vw,1.28rem);
  line-height:1.58;
}

/* Le contenu ne doit plus être enfermé dans une colonne minuscule. */
.nm-article__body{
  width:100%;
  padding:clamp(48px,6vw,78px) 0 0;
  overflow:visible;
}
.nm-article__content{
  width:100%;
  min-width:0;
  max-width:none;
  font-family:inherit;
  font-size:1rem;
  line-height:1.7;
  overflow:visible;
}

/* Largeur de lecture par défaut. Les blocs éditoriaux peuvent s'élargir. */
.nm-article__content > *{
  width:auto;
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
.nm-article__content > .alignwide,
.nm-article__content > .wp-block-group.alignwide,
.nm-article__content > .wp-block-columns.alignwide,
.nm-article__content > .wp-block-cover.alignwide,
.nm-article__content > .wp-block-image.alignwide,
.nm-article__content > .wp-block-gallery.alignwide{
  max-width:1180px;
}
.nm-article__content > .alignfull,
.nm-article__content > .wp-block-group.alignfull,
.nm-article__content > .wp-block-cover.alignfull{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Ne jamais imposer aux blocs internes la taille des titres du thème. */
.nm-article__content h1,
.nm-article__content h2,
.nm-article__content h3,
.nm-article__content h4,
.nm-article__content h5,
.nm-article__content h6{
  max-width:none;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}
.nm-article__content h1{font-size:clamp(2rem,4vw,3.8rem);line-height:1.02}
.nm-article__content h2{font-size:clamp(1.75rem,3vw,2.8rem);line-height:1.08}
.nm-article__content h3{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.12}

/* Respect de la typographie définie directement dans Gutenberg. */
.nm-article__content .has-small-font-size{font-size:var(--wp--preset--font-size--small, .875rem)}
.nm-article__content .has-medium-font-size{font-size:var(--wp--preset--font-size--medium, 1.15rem)}
.nm-article__content .has-large-font-size{font-size:var(--wp--preset--font-size--large, 2rem)}
.nm-article__content .has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large, 3rem)}

/* Blocs Gutenberg : ne pas couper textes, colonnes ou visuels. */
.nm-article__content .wp-block-group,
.nm-article__content .wp-block-cover,
.nm-article__content .wp-block-columns,
.nm-article__content .wp-block-column,
.nm-article__content .wp-block-media-text,
.nm-article__content .wp-block-image,
.nm-article__content figure{
  min-width:0;
  overflow:visible;
}
.nm-article__content .wp-block-columns{
  gap:clamp(22px,4vw,52px);
}
.nm-article__content img{
  max-width:100%;
  height:auto;
}

/* Blog réel sur /blog/ */
.page-template-page-blog .nm-page-header,
.page-template-page-blog .nm-page-content{
  display:none;
}
.nm-blog-hero h1{
  max-width:900px;
  overflow-wrap:normal;
  text-wrap:balance;
}
.nm-blog-index{
  padding:clamp(45px,6vw,80px) 0 clamp(75px,8vw,120px);
}
.nm-post-card h2{
  font-size:clamp(1.45rem,2.2vw,2.15rem);
  line-height:1.08;
  overflow-wrap:anywhere;
}
.nm-pagination{
  margin-top:50px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.nm-pagination .page-numbers{
  display:inline-flex;
  min-width:40px;
  min-height:40px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  padding:6px 10px;
  text-decoration:none;
}
.nm-pagination .current{
  background:var(--ink);
  color:white;
  border-color:var(--ink);
}

/* Les anciens boutons sociaux Jetpack restent hors de la mise en page éditoriale. */
.nm-article__content .sd-sharing-enabled,
.nm-article__content .sharedaddy,
.nm-article__content .jp-relatedposts,
.nm-article__content .sd-like{
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}

/* Mobile */
@media(max-width:850px){
  .nm-article__headgrid{
    grid-template-columns:1fr;
  }
  .nm-article__eye{
    display:none;
  }
  .nm-article__header h1{
    font-size:clamp(2.35rem,10vw,4rem);
  }
}
@media(max-width:600px){
  .nm-page-header h1{
    font-size:clamp(2.2rem,11vw,3.5rem);
  }
  .nm-article__content > *,
  .nm-page-content > *{
    max-width:calc(100% - 30px);
  }
  .nm-article__content > .alignwide,
  .nm-page-content > .alignwide{
    max-width:calc(100% - 30px);
  }
}


/* =========================================================
   v1.7.1 — HABILLAGE AUTOMATIQUE DE TOUS LES ARTICLES
   ========================================================= */

.nm-article{
  --article-accent:var(--petrol,#246d70);
  --article-paper:var(--paper,#fbfaf7);
  --article-ink:var(--ink,#171b1a);
}

/* Quelques familles éditoriales peuvent garder une nuance propre,
   sans changer la structure générale. */
.nm-article--intelligence-artificielle{--article-accent:#246d70}
.nm-article--technologie,
.nm-article--technologies{--article-accent:#405d72}
.nm-article--reseaux-sociaux,
.nm-article--reseaux{--article-accent:#6c5f7b}
.nm-article--boite-a-outils,
.nm-article--outils{--article-accent:#8a6947}
.nm-article--l-arbre-en-fete{--article-accent:#315b3c}
.nm-article--numerique-societe{--article-accent:#635f5a}

.nm-article__header{
  position:relative;
  border-bottom:1px solid rgba(23,27,26,.12);
  background:
    radial-gradient(circle at 86% 22%, color-mix(in srgb,var(--article-accent) 8%, transparent), transparent 27%),
    var(--article-paper);
}
.nm-article__category{
  color:var(--article-accent);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
  text-decoration:none;
}
.nm-article__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1rem;
  align-items:center;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#69706d;
}
.nm-article__meta > *+*::before{
  content:"·";
  margin-right:1rem;
  color:#a4aaa7;
}
.nm-article__author{
  display:flex;
  gap:.55rem;
  align-items:center;
  margin-top:1.25rem;
  font-size:.82rem;
  color:#727874;
}
.nm-article__author-name{
  color:var(--article-ink);
  font-weight:700;
}
.nm-article__eye{
  text-align:center;
}
.nm-article__eye small{
  display:block;
  margin-top:.65rem;
  font-size:.6rem;
  letter-spacing:.14em;
  color:#6c7470;
}
.nm-article__cover{
  margin-top:clamp(32px,5vw,60px);
  margin-bottom:0;
}
.nm-article__cover img{
  width:100%;
  height:auto;
  display:block;
  border-radius:2px;
}

/* Typographie éditoriale automatique */
.nm-article__content{
  color:var(--article-ink);
}
.nm-article__content > p,
.nm-article__content > ul,
.nm-article__content > ol{
  font-size:clamp(1.02rem,1.15vw,1.12rem);
  line-height:1.78;
}
.nm-article__content p{
  margin-top:0;
  margin-bottom:1.35em;
}
.nm-article__content h2{
  margin-top:1.75em;
  margin-bottom:.65em;
  letter-spacing:-.035em;
}
.nm-article__content h3{
  margin-top:1.6em;
  margin-bottom:.55em;
  letter-spacing:-.025em;
}
.nm-article__content h2::before{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-bottom:.65em;
  background:var(--article-accent);
}
.nm-article__content a{
  color:var(--article-accent);
  text-decoration-thickness:1px;
  text-underline-offset:.16em;
}
.nm-article__content strong{
  font-weight:750;
}
.nm-article__content blockquote{
  margin-top:2.2rem;
  margin-bottom:2.2rem;
  padding:1.2rem 0 1.2rem 1.5rem;
  border-left:3px solid var(--article-accent);
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  line-height:1.45;
}
.nm-article__content blockquote p:last-child{margin-bottom:0}
.nm-article__content ul,
.nm-article__content ol{
  padding-left:1.25rem;
  margin-bottom:1.5rem;
}
.nm-article__content li+li{margin-top:.45rem}
.nm-article__content hr,
.nm-article__content .wp-block-separator{
  width:80px;
  border:0;
  border-top:1px solid color-mix(in srgb,var(--article-accent) 55%, transparent);
  margin:3.2rem auto;
}
.nm-article__content figcaption{
  margin-top:.55rem;
  font-size:.78rem;
  line-height:1.45;
  color:#717874;
  text-align:left;
}
.nm-article__content table{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
}
.nm-article__content th,
.nm-article__content td{
  padding:.75rem .85rem;
  border-bottom:1px solid rgba(23,27,26,.13);
  text-align:left;
  vertical-align:top;
}
.nm-article__content th{
  font-weight:750;
}

/* Les blocs personnalisés gardent leur propre direction graphique. */
.nm-article__content > .wp-block-group,
.nm-article__content > .wp-block-cover,
.nm-article__content > .wp-block-columns,
.nm-article__content > .wp-block-media-text{
  margin-top:clamp(2.1rem,4vw,4rem);
  margin-bottom:clamp(2.1rem,4vw,4rem);
}
.nm-article__content :where(.wp-block-group,.wp-block-cover,.wp-block-columns,.wp-block-media-text) h2::before{
  content:none;
}

/* Bas d'article commun */
.nm-article__footer{
  margin-top:clamp(65px,9vw,120px);
  padding:clamp(36px,5vw,58px) 0;
  border-top:1px solid rgba(23,27,26,.13);
  background:#f3f4f1;
}
.nm-article__footer-inner{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:flex-end;
}
.nm-footer-kicker{
  display:block;
  margin-bottom:.35rem;
  font-weight:800;
  letter-spacing:.12em;
}
.nm-article__footer p{
  margin:0;
  color:#626966;
}
.nm-tags{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nm-tags a{
  display:inline-flex;
  padding:.42rem .68rem;
  border:1px solid rgba(23,27,26,.16);
  border-radius:999px;
  color:inherit;
  text-decoration:none;
  font-size:.76rem;
}
.nm-post-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  margin-top:2.5rem;
  padding-top:2rem;
  border-top:1px solid rgba(23,27,26,.12);
}
.nm-post-nav > div:last-child{text-align:right}
.nm-post-nav a{
  color:inherit;
  font-weight:700;
  text-decoration:none;
}
.nm-post-nav a:hover{text-decoration:underline}

@media(max-width:720px){
  .nm-article__meta > *+*::before{display:none}
  .nm-article__footer-inner,
  .nm-post-nav{
    display:block;
  }
  .nm-tags{
    justify-content:flex-start;
    margin-top:1.5rem;
  }
  .nm-post-nav > div+div{
    margin-top:1.2rem;
    text-align:left;
  }
}


/* =========================================================
   v1.8.0 — IDENTITÉ VISUELLE : VRAI LOGO NETMEDIA
   Une seule source, plusieurs usages cohérents.
   ========================================================= */

.nm-brand-mark{
  display:inline-grid;
  place-items:center;
  position:relative;
  line-height:0;
  flex:0 0 auto;
}
.nm-brand-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

/* Header : très lisible, jamais envahissant */
.nm-brand-mark--header{
  width:44px;
  height:44px;
  overflow:hidden;
}
.nm-brand-mark--header img{
  transform:scale(1.72);
}

/* Home : logo complet, respirant */
.nm-brand-mark--feature{
  width:min(280px,72vw);
  aspect-ratio:1;
}
.nm-brand-mark--feature::before{
  content:"";
  position:absolute;
  width:62%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(36,109,112,.11),rgba(36,109,112,.035) 48%,transparent 70%);
  animation:nm-brand-breathe 8s ease-in-out infinite alternate;
}
.nm-brand-mark--feature img{
  position:relative;
  z-index:1;
}

/* Watermark : pas un second logo, une présence graphique issue du même œil */
.nm-hero{position:relative;overflow:hidden}
.nm-hero__brand-watermark{
  position:absolute;
  right:-120px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  z-index:0;
  opacity:.035;
}
.nm-hero__brand-watermark + *{position:relative;z-index:1}
.nm-brand-mark--watermark{
  width:min(620px,48vw);
  aspect-ratio:1;
  filter:grayscale(1);
}

/* Blog : plus éditorial */
.nm-brand-mark--blog{
  width:min(220px,52vw);
  aspect-ratio:1;
}
.nm-brand-mark--blog img{
  filter:saturate(.92) contrast(1.02);
}

/* Article : discret, sans effet "œil qui surveille" */
.nm-brand-mark--article{
  width:118px;
  aspect-ratio:1;
  opacity:.92;
}
.nm-brand-mark--article img{
  filter:saturate(.88);
}

/* Footer : presque un sceau */
.nm-footer-brand{
  display:flex;
  justify-content:center;
  padding-top:2rem;
  opacity:.42;
}
.nm-brand-mark--footer{
  width:72px;
  aspect-ratio:1;
}
.nm-brand-mark--footer img{
  filter:grayscale(.25) saturate(.7);
}

/* On neutralise les anciens montages du logo pour éviter les doublons. */
.nm-real-eye{display:none!important}

@keyframes nm-brand-breathe{
  from{transform:scale(.94);opacity:.45}
  to{transform:scale(1.07);opacity:.8}
}
@media(prefers-reduced-motion:reduce){
  .nm-brand-mark--feature::before{animation:none}
}
@media(max-width:720px){
  .nm-brand-mark--header{width:38px;height:38px}
  .nm-hero__brand-watermark{right:-160px;opacity:.025}
  .nm-brand-mark--watermark{width:520px}
  .nm-brand-mark--article{width:92px}
}

/* v1.8.1 — correctif logo header : présence explicite et prioritaire */
.nm-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  text-decoration:none!important;
  color:var(--ink,#171b1a)!important;
}
.nm-header-logo{
  display:block!important;
  position:relative!important;
  width:42px!important;
  height:42px!important;
  overflow:hidden!important;
  flex:0 0 42px!important;
}
.nm-header-logo img{
  display:block!important;
  position:absolute!important;
  width:72px!important;
  height:72px!important;
  max-width:none!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
.nm-wordmark{
  display:inline-block!important;
  font-weight:800!important;
  font-size:.92rem!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
@media(max-width:720px){
  .nm-header-logo{width:38px!important;height:38px!important;flex-basis:38px!important}
  .nm-header-logo img{width:65px!important;height:65px!important}
  .nm-wordmark{font-size:.82rem!important}
}


/* =========================================================
   v1.8.3 — IMAGE MISE EN AVANT PLUS DISCRÈTE
   ========================================================= */

.nm-article__cover{
  width:min(980px,calc(100% - 48px));
  margin:clamp(28px,4vw,46px) auto 0;
  padding:0;
  overflow:hidden;
  border-radius:10px;
  background:#f4f4f1;
  box-shadow:0 10px 28px rgba(23,27,26,.045);
}

.nm-article__cover img{
  display:block;
  width:100%;
  height:auto;
  max-height:560px;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
}

/* Les images très verticales ne doivent plus dominer tout l'écran. */
.nm-article__cover img[height]{
  object-fit:cover;
}

/* Petit espace visuel entre l'image et le corps de l'article. */
.nm-article__cover + .nm-article__body{
  padding-top:clamp(38px,5vw,58px);
}

/* Sur mobile, l'image reste présente mais ne colle pas aux bords. */
@media(max-width:720px){
  .nm-article__cover{
    width:calc(100% - 30px);
    margin-top:24px;
    border-radius:7px;
  }
  .nm-article__cover img{
    max-height:420px;
  }
}


/* =========================================================
   v1.8.4 — HEADER LOGO + PIED DE PAGE
   ========================================================= */

/* Le logo entier est un vrai lien vers l'accueil. */
.nm-brand{
  position:relative;
  z-index:2;
}

/* Footer */
.nm-footer{
  margin-top:clamp(72px,9vw,120px);
  padding:0;
  color:#dfe7e2;
  background:#18211e;
  border-top:1px solid rgba(255,255,255,.07);
}

.nm-footer__top{
  display:grid;
  grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(150px,.72fr));
  gap:clamp(32px,5vw,68px);
  padding:clamp(52px,7vw,82px) 0 clamp(44px,6vw,68px);
}

.nm-footer__identity{
  max-width:390px;
}

.nm-footer__brand{
  display:inline-flex;
  align-items:center;
  gap:13px;
  color:#fff;
  text-decoration:none;
}

.nm-footer__brand .nm-brand-mark--footer{
  width:64px;
  opacity:1;
}

.nm-footer__brand .nm-brand-mark--footer img{
  filter:none;
}

.nm-footer__brand strong{
  display:block;
  font-size:1rem;
  letter-spacing:.105em;
}

.nm-footer__brand small{
  display:block;
  margin-top:4px;
  color:#8fa099;
  font-size:.7rem;
  letter-spacing:.06em;
}

.nm-footer__intro{
  max-width:360px;
  margin:22px 0 0;
  color:#aebbb5;
  font-size:.94rem;
  line-height:1.65;
}

.nm-footer__signature{
  margin:20px 0 0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.05rem;
  font-style:italic;
}

.nm-footer__column h2{
  margin:5px 0 17px;
  color:#fff;
  font-size:.72rem;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.nm-footer__column ul{
  list-style:none;
  margin:0;
  padding:0;
}

.nm-footer__column li + li{
  margin-top:10px;
}

.nm-footer__column a,
.nm-footer__legal-nav a{
  color:#aebbb5;
  text-decoration:none;
  transition:color .16s ease;
}

.nm-footer__column a:hover,
.nm-footer__column a:focus-visible,
.nm-footer__legal-nav a:hover,
.nm-footer__legal-nav a:focus-visible{
  color:#fff;
}

.nm-footer__contact{
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin-top:25px;
  padding-bottom:3px;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.32);
  font-weight:700;
}

.nm-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:72px;
  padding-top:18px;
  padding-bottom:18px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#82918b;
  font-size:.75rem;
}

.nm-footer__bottom p{
  margin:0;
}

.nm-footer__legal-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 22px;
}

.nm-footer__legal-nav a{
  font-size:inherit;
}

/* L'ancien ajout centré de logo n'est plus nécessaire :
   le logo fait maintenant partie du bloc d'identité. */
.nm-footer > .nm-footer-brand{
  display:none!important;
}

@media(max-width:980px){
  .nm-footer__top{
    grid-template-columns:minmax(260px,1.2fr) repeat(2,minmax(150px,.8fr));
  }

  .nm-footer__column:last-child{
    grid-column:2 / -1;
  }
}

@media(max-width:680px){
  .nm-footer{
    margin-top:72px;
  }

  .nm-footer__top{
    grid-template-columns:1fr 1fr;
    gap:38px 26px;
    padding-top:48px;
  }

  .nm-footer__identity{
    grid-column:1 / -1;
    max-width:none;
  }

  .nm-footer__column:last-child{
    grid-column:auto;
  }

  .nm-footer__bottom{
    display:block;
    padding-top:22px;
    padding-bottom:24px;
  }

  .nm-footer__legal-nav{
    justify-content:flex-start;
    margin-top:12px;
  }
}

@media(max-width:440px){
  .nm-footer__top{
    grid-template-columns:1fr;
  }

  .nm-footer__identity,
  .nm-footer__column:last-child{
    grid-column:auto;
  }
}


/* =========================================================
   v1.8.5 — HOME HERO : PROPORTIONS REÉQUILIBRÉES
   ========================================================= */

/* Hero moins haut, contenu mieux réparti */
.nm-home-hero{
  min-height:auto!important;
  padding-top:clamp(56px,6vw,88px)!important;
  padding-bottom:clamp(54px,6vw,82px)!important;
}

.nm-home-hero .nm-shell{
  width:min(1180px,calc(100% - 48px))!important;
}

/* Colonne principale moins écrasante, colonne regard plus présente */
.nm-home-hero__grid{
  grid-template-columns:minmax(0,1.34fr) minmax(280px,.66fr)!important;
  gap:clamp(48px,6vw,86px)!important;
  align-items:center!important;
}

/* Le H1 était beaucoup trop massif */
.nm-home-hero h1{
  max-width:820px!important;
  font-size:clamp(52px,5.4vw,78px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}

/* Deuxième ligne colorée mieux contenue */
.nm-home-hero h1 em,
.nm-home-hero h1 span{
  display:inline!important;
}

/* Intro plus courte visuellement */
.nm-home-hero__lead{
  max-width:820px!important;
  margin-top:28px!important;
  font-size:clamp(19px,1.55vw,23px)!important;
  line-height:1.55!important;
}

/* Boutons moins lourds */
.nm-home-hero__actions{
  margin-top:34px!important;
  gap:22px!important;
}

.nm-home-hero__actions .nm-button,
.nm-home-hero__actions .nm-btn{
  min-height:52px!important;
  padding:13px 24px!important;
}

/* Bloc "Voir Comprendre Agir" plus compact et mieux intégré */
.nm-home-hero__aside{
  align-self:center!important;
  max-width:330px!important;
  min-height:0!important;
  padding:20px 0 18px 34px!important;
  border-left:1px solid rgba(201,130,145,.55)!important;
}

.nm-home-hero__aside .nm-kicker,
.nm-home-hero__aside-label{
  margin-bottom:24px!important;
  font-size:11px!important;
}

.nm-home-hero__aside h2,
.nm-home-hero__aside-title{
  margin:0!important;
  font-size:clamp(34px,3vw,48px)!important;
  line-height:1.22!important;
  letter-spacing:-.035em!important;
}

.nm-home-hero__aside p{
  margin-top:24px!important;
  max-width:260px!important;
  font-size:16px!important;
  line-height:1.55!important;
}

/* Watermark oeil beaucoup plus discret */
.nm-home-hero .nm-brand-mark--watermark{
  opacity:.018!important;
  transform:scale(.82)!important;
}

/* Réduction de l'espace vide sous le hero */
.nm-home-hero + *{
  margin-top:0!important;
}

@media(max-width:980px){
  .nm-home-hero__grid{
    grid-template-columns:1fr!important;
    gap:46px!important;
  }

  .nm-home-hero h1{
    max-width:780px!important;
    font-size:clamp(48px,8vw,70px)!important;
  }

  .nm-home-hero__aside{
    max-width:760px!important;
    padding:24px 0 24px 28px!important;
  }

  .nm-home-hero__aside h2,
  .nm-home-hero__aside-title{
    font-size:clamp(32px,5vw,42px)!important;
  }
}

@media(max-width:680px){
  .nm-home-hero{
    padding-top:42px!important;
    padding-bottom:48px!important;
  }

  .nm-home-hero .nm-shell{
    width:min(100% - 30px,1180px)!important;
  }

  .nm-home-hero h1{
    max-width:none!important;
    font-size:clamp(40px,12.6vw,58px)!important;
    line-height:1.01!important;
  }

  .nm-home-hero__lead{
    margin-top:22px!important;
    font-size:18px!important;
  }

  .nm-home-hero__actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:14px!important;
    margin-top:28px!important;
  }

  .nm-home-hero__aside{
    padding-left:20px!important;
  }
}


/* =========================================================
   v1.8.6 — HOME HERO : SUPPRESSION DU VIDE INUTILE
   ========================================================= */

/* La composition est validée : on ne touche plus aux proportions.
   On retire uniquement la hauteur/min-height héritée qui transforme
   le hero en écran plein. */
.nm-home-hero{
  min-height:0!important;
  height:auto!important;
  padding-bottom:clamp(48px,5vw,68px)!important;
}

.nm-home-hero__grid{
  min-height:0!important;
}

/* Évite qu'un wrapper interne conserve une hauteur de viewport. */
.nm-home-hero > .nm-shell,
.nm-home-hero__grid,
.nm-home-hero__content,
.nm-home-hero__main{
  height:auto!important;
}

/* La section suivante arrive naturellement après le hero. */
.nm-home-hero + section,
.nm-home-hero + .nm-section{
  margin-top:0!important;
}

@media(max-width:680px){
  .nm-home-hero{
    padding-bottom:44px!important;
  }
}


/* =========================================================
   v1.8.7 — BAS DES ARTICLES : JETPACK / PARTAGE / ARTICLES LIÉS
   ========================================================= */

/* Les modules injectés par les extensions doivent rester dans
   la même colonne éditoriale que l'article. */
.single-post .sd-sharing-enabled,
.single-post .sd-like,
.single-post .sharedaddy,
.single-post .jp-relatedposts,
.single-post #jp-relatedposts,
.single-post .jp-relatedposts-posts,
.single-post .sd-block,
.single-post .sd-content,
.single-post .sd-title {
  max-width:800px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Partage : discret, secondaire */
.single-post .sharedaddy,
.single-post .sd-sharing-enabled,
.single-post .sd-like {
  width:min(800px,calc(100% - 40px))!important;
  margin-top:26px!important;
  padding-top:20px!important;
  border-top:1px solid rgba(23,27,26,.09)!important;
}

.single-post .sharedaddy h3,
.single-post .sd-title h3 {
  margin:0 0 12px!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* Les boutons sociaux ne doivent pas attirer plus que le contenu */
.single-post .sd-content ul {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
}

.single-post .sd-content ul li {
  margin:0!important;
}

/* Articles liés : fin de lecture alignée et compacte */
.single-post .jp-relatedposts,
.single-post #jp-relatedposts {
  width:min(1080px,calc(100% - 48px))!important;
  max-width:1080px!important;
  margin:48px auto 0!important;
  padding:34px 0 0!important;
  border-top:1px solid rgba(23,27,26,.10)!important;
}

.single-post .jp-relatedposts-headline,
.single-post #jp-relatedposts h3.jp-relatedposts-headline {
  margin:0 0 22px!important;
  font-size:13px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.single-post .jp-relatedposts-posts {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  max-width:none!important;
}

.single-post .jp-relatedposts-post {
  width:auto!important;
  float:none!important;
  margin:0!important;
  opacity:1!important;
}

.single-post .jp-relatedposts-post img {
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  border-radius:8px!important;
  margin:0 0 10px!important;
}

.single-post .jp-relatedposts-post-title {
  margin:0!important;
  font-size:15px!important;
  line-height:1.35!important;
}

.single-post .jp-relatedposts-post-context,
.single-post .jp-relatedposts-post-date {
  margin-top:5px!important;
  color:#6b7470!important;
  font-size:12px!important;
}

/* Le footer doit reprendre toute la largeur après les modules */
.single-post .nm-footer {
  clear:both!important;
  width:100%!important;
}

/* Évite les grandes zones vides produites par des floats legacy */
.single-post .entry-content::after,
.single-post .nm-article::after {
  content:""!important;
  display:table!important;
  clear:both!important;
}

@media(max-width:760px){
  .single-post .sharedaddy,
  .single-post .sd-sharing-enabled,
  .single-post .sd-like {
    width:calc(100% - 30px)!important;
  }

  .single-post .jp-relatedposts,
  .single-post #jp-relatedposts {
    width:calc(100% - 30px)!important;
    margin-top:38px!important;
  }

  .single-post .jp-relatedposts-posts {
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  .single-post .jp-relatedposts-post {
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
  }

  .single-post .jp-relatedposts-post img {
    margin:0!important;
    aspect-ratio:4/3!important;
  }
}


/* =========================================================
   v1.8.8 — HOME : SOUTIEN J'AIME LES ARBRES
   ========================================================= */

.nm-home-support{
  padding:clamp(54px,6vw,76px) 0;
  background:
    radial-gradient(circle at 94% 15%,rgba(201,137,153,.075),transparent 25%),
    linear-gradient(135deg,#fbfaf6,#f4f7f1);
  border-top:1px solid rgba(23,27,26,.06);
  border-bottom:1px solid rgba(23,27,26,.06);
}

.nm-home-support__inner{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:clamp(30px,5vw,62px);
  align-items:center;
}

.nm-home-support__meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#385d3c;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.nm-home-support__meta span:first-child{
  font-family:Georgia,"Times New Roman",serif;
  color:#203f27;
  font-size:2rem;
  line-height:1;
  letter-spacing:-.04em;
}

.nm-home-support__meta i{
  display:block;
  width:1px;
  height:34px;
  margin:10px 0;
  background:linear-gradient(#385d3c,#c98999);
}

.nm-home-support__copy{
  min-width:0;
  max-width:720px;
}

.nm-home-support__copy .nm-kicker{
  margin-bottom:12px;
}

.nm-home-support h2{
  max-width:650px;
  margin:0;
  color:#171914;
  font-size:clamp(27px,2.8vw,38px);
  line-height:1.12;
  letter-spacing:-.035em;
}

.nm-home-support__copy > p:not(.nm-kicker){
  max-width:680px;
  margin:16px 0 0;
  color:#4d5751;
  font-size:1rem;
  line-height:1.65;
}

.nm-home-support__note{
  padding-left:15px;
  border-left:1px solid #c98999;
  color:#203f27!important;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
}

.nm-home-support__action{
  min-width:230px;
  text-align:right;
}

.nm-home-support__action .nm-button{
  white-space:normal;
  text-align:center;
}

@media(max-width:920px){
  .nm-home-support__inner{
    grid-template-columns:110px minmax(0,1fr);
  }

  .nm-home-support__action{
    grid-column:2;
    min-width:0;
    text-align:left;
  }
}

@media(max-width:620px){
  .nm-home-support{
    padding:46px 0;
  }

  .nm-home-support__inner{
    grid-template-columns:1fr;
    gap:22px;
  }

  .nm-home-support__meta{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }

  .nm-home-support__meta span:first-child{
    font-size:1.5rem;
  }

  .nm-home-support__meta i{
    width:34px;
    height:1px;
    margin:0;
  }

  .nm-home-support__action{
    grid-column:auto;
  }

  .nm-home-support__action .nm-button{
    width:100%;
  }
}


/* =========================================================
   v1.8.9 — ROSE + DÉCLINAISONS DE L'ŒIL
   L'œil reste l'asset officiel : seules sa présence, sa taille,
   son cadrage et son halo changent.
   ========================================================= */

:root{
  --nm-rose:#c98291;
  --nm-rose-soft:#f6e9ed;
  --nm-rose-line:rgba(201,130,145,.52);
}

/* Une ligne rose discrète qui traverse la home sans devenir décorative */
.nm-home-support{
  position:relative;
  overflow:hidden;
}

.nm-home-support::before{
  content:"";
  position:absolute;
  top:0;
  left:max(24px,calc((100% - 1180px)/2));
  width:76px;
  height:2px;
  background:linear-gradient(90deg,var(--nm-rose),rgba(201,130,145,0));
}

.nm-home-support__note{
  border-left:2px solid var(--nm-rose)!important;
}

.nm-home-support__meta i{
  background:linear-gradient(#385d3c 0 52%,var(--nm-rose) 52% 100%)!important;
}

/* Petites ponctuations roses réutilisables dans les sections */
.nm-home-support h2::after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin-top:16px;
  background:var(--nm-rose);
  border-radius:99px;
}

/* Déclinaisons de l'œil : même logo, différentes respirations */
.nm-eye-echo{
  position:absolute;
  z-index:0;
  pointer-events:none;
  user-select:none;
}

.nm-eye-echo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* œil rose fantôme : le logo garde ses couleurs, le halo apporte le rose */
.nm-eye-echo--rose{
  right:clamp(-56px,-3vw,-18px);
  top:50%;
  width:clamp(150px,17vw,245px);
  aspect-ratio:1;
  transform:translateY(-50%);
  opacity:.105;
  filter:saturate(.82);
}

.nm-eye-echo--rose::before{
  content:"";
  position:absolute;
  inset:24%;
  border-radius:50%;
  background:rgba(201,130,145,.28);
  filter:blur(26px);
  z-index:-1;
}

/* œil turquoise : discret dans les zones numériques */
.nm-eye-echo--teal{
  left:clamp(-75px,-5vw,-30px);
  top:22%;
  width:clamp(145px,15vw,220px);
  aspect-ratio:1;
  opacity:.075;
  filter:saturate(.9);
}

/* œil projet : plus petit, presque un sceau */
.nm-eye-echo--natural{
  right:clamp(18px,4vw,70px);
  top:24px;
  width:clamp(70px,7vw,105px);
  aspect-ratio:1;
  opacity:.16;
}

/* Les contenus restent devant les yeux fantômes */
.nm-home-support__inner,
.nm-home-explorer > *,
.nm-home-projects > *,
.nm-home-eye > *{
  position:relative;
  z-index:1;
}

/* Les sections concernées deviennent des cadres de positionnement */
.nm-home-explorer,
.nm-home-projects,
.nm-home-eye{
  position:relative;
  overflow:hidden;
}

/* Rose ponctuel dans les petits éléments, jamais en gros aplat */
.nm-home-support .nm-kicker,
.nm-home-projects .nm-kicker{
  text-decoration-color:var(--nm-rose);
}

.nm-home-support__since{
  position:relative;
}

.nm-home-support__since::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:9px;
  border-radius:50%;
  background:var(--nm-rose);
  vertical-align:middle;
}

/* Respiration très lente, annulée si réduction des mouvements */
@keyframes nmEyeBreathe{
  0%,100%{transform:translateY(-50%) scale(.985); opacity:.085;}
  50%{transform:translateY(-50%) scale(1.025); opacity:.125;}
}

.nm-eye-echo--rose{
  animation:nmEyeBreathe 8s ease-in-out infinite;
}

@media(prefers-reduced-motion:reduce){
  .nm-eye-echo--rose{animation:none;}
}

@media(max-width:760px){
  .nm-eye-echo--rose{
    right:-65px;
    top:24px;
    width:150px;
    transform:none;
    opacity:.07;
    animation:none;
  }

  .nm-eye-echo--teal{
    width:130px;
    opacity:.055;
  }

  .nm-eye-echo--natural{
    width:70px;
    right:-14px;
    opacity:.09;
  }

  .nm-home-support::before{
    left:15px;
    width:54px;
  }
}


/* =========================================================
   v1.9.0 — ROSE, JUSTE UNE NOTE
   ========================================================= */

:root{
  --nm-rose:#c98291;
  --nm-rose-soft:#f7ecef;
}

/* Le rose reste une ponctuation, pas une couleur de structure. */
.nm-home-support{
  background:
    radial-gradient(circle at 94% 12%,rgba(201,130,145,.055),transparent 23%),
    linear-gradient(135deg,#fbfaf6,#f4f7f1)!important;
}

.nm-home-support::before{
  width:58px!important;
  height:2px!important;
  background:linear-gradient(90deg,#c98291,rgba(201,130,145,0))!important;
}

.nm-home-support h2::after{
  width:28px!important;
  height:2px!important;
  margin-top:14px!important;
}

.nm-home-support__note{
  border-left:1px solid rgba(201,130,145,.72)!important;
}

.nm-home-support__since::after{
  width:5px!important;
  height:5px!important;
}

/* L'œil garde ses vraies couleurs. Le rose n'est qu'un halo très léger. */
.nm-eye-echo--rose{
  opacity:.085!important;
}

.nm-eye-echo--rose::before{
  inset:29%!important;
  background:rgba(201,130,145,.17)!important;
  filter:blur(24px)!important;
}

/* Aucun gros fond rose sur boutons, cartes ou sections. */
.nm-button,
.nm-card,
.nm-home-projects,
.nm-home-explorer{
  --nm-local-rose:#c98291;
}

@keyframes nmEyeBreatheSoft{
  0%,100%{transform:translateY(-50%) scale(.99);opacity:.07}
  50%{transform:translateY(-50%) scale(1.015);opacity:.095}
}

.nm-eye-echo--rose{
  animation:nmEyeBreatheSoft 9s ease-in-out infinite!important;
}

@media(prefers-reduced-motion:reduce){
  .nm-eye-echo--rose{animation:none!important;}
}

@media(max-width:760px){
  .nm-eye-echo--rose{
    opacity:.055!important;
    animation:none!important;
  }
}


/* =========================================================
   v1.9.1 — CORRECTION RÉELLE : ROSE + ŒIL SUR LES VRAIES CLASSES
   ========================================================= */

/* Le rose devient visible dans la ponctuation éditoriale, sans aplat. */
.nm-hero .nm-kicker > span{
  background:#c98291!important;
  box-shadow:0 0 0 4px rgba(201,130,145,.10)!important;
}

.nm-section--line .nm-kicker > span,
.nm-latest .nm-kicker > span,
.nm-projects-home .nm-kicker > span,
.nm-about-home .nm-kicker > span{
  background:#c98291!important;
}

/* On alterne : Explorer reste pétrole pour ne pas rosir toute la page. */
.nm-explore .nm-kicker > span{
  background:#58a7a4!important;
}

/* Un filet rose réellement perceptible sur deux zones seulement. */
.nm-projects-home{
  border-top:2px solid rgba(201,130,145,.34)!important;
}

.nm-about-home{
  border-bottom:1px solid rgba(201,130,145,.24)!important;
}

/* Petite touche rose sur le lien secondaire du hero. */
.nm-hero .nm-textlink{
  text-decoration-color:rgba(201,130,145,.72)!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:5px!important;
}

/* Le bloc soutien : visible mais léger. */
.nm-home-support{
  box-shadow:inset 0 2px 0 rgba(201,130,145,.18)!important;
}

.nm-home-support__since{
  background:#f7ecef!important;
  color:#385d3c!important;
}

/* ===== Déclinaisons réelles de l'œil officiel ===== */
.nm-explore,
.nm-projects-home{
  position:relative!important;
  overflow:hidden!important;
}

.nm-eye-sign{
  position:absolute;
  pointer-events:none;
  user-select:none;
  z-index:0;
}

.nm-eye-sign img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Explorer : grand filigrane très léger */
.nm-eye-sign--explore{
  right:-72px;
  top:44px;
  width:220px;
  aspect-ratio:1;
  opacity:.065;
  transform:rotate(-5deg);
}

/* Projets : petit sceau plus lisible */
.nm-eye-sign--projects{
  left:-34px;
  bottom:24px;
  width:126px;
  aspect-ratio:1;
  opacity:.11;
  transform:rotate(4deg);
}

/* Le contenu passe au-dessus des filigranes. */
.nm-explore > .nm-shell,
.nm-projects-home > .nm-shell{
  position:relative;
  z-index:1;
}

/* L'œil déjà présent dans "Pourquoi cet œil ?" reçoit une vraie
   respiration colorée, avec juste une touche rose dans le halo. */
.nm-about-eye{
  position:relative!important;
}

.nm-about-eye::after{
  content:"";
  position:absolute;
  inset:18%;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(201,130,145,.15) 0 20%,
      rgba(36,109,112,.09) 38%,
      transparent 68%);
  filter:blur(18px);
  z-index:-1;
}

/* Footer : une seule ponctuation rose après la signature. */
.nm-footer__signature::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:9px;
  border-radius:50%;
  background:#c98291;
  vertical-align:middle;
}

@media(max-width:760px){
  .nm-eye-sign--explore{
    right:-62px;
    top:26px;
    width:150px;
    opacity:.05;
  }

  .nm-eye-sign--projects{
    left:-42px;
    bottom:18px;
    width:100px;
    opacity:.07;
  }

  .nm-projects-home{
    border-top-width:1px!important;
  }
}
