/*!
Theme Name: Next Engineering
Theme URI: https://www.enext-engineering.com/
Author: Next Engineering
Author URI: https://www.enext-engineering.com/
Description: Thème WordPress moderne, captivant et commercial pour Next Engineering — entreprise d'ingénierie numérique, cybersécurité et intelligence artificielle en Afrique francophone. Conforme à la charte graphique de la marque (bleu Next, Montserrat & Inter) et structuré autour des 6 pôles de services de la plaquette. Design bi-tonal : sections claires institutionnelles et sections « premium » sombres reprenant l'ambiance du catalogue. Compatible WordPress 6+, éditeur de blocs (theme.json), personnalisateur et traduction.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: next-engineering
Tags: business, technology, portfolio, custom-colors, custom-logo, custom-menu, featured-images, block-styles, wide-blocks, translation-ready, threaded-comments, full-width-template, rtl-language-support
*/

/* =========================================================================
   NEXT ENGINEERING — Feuille de style principale
   Sommaire :
   1.  Jetons de conception (variables)
   2.  Réinitialisation & base
   3.  Typographie
   4.  Mise en page & utilitaires
   5.  Boutons & formulaires
   6.  En-tête & navigation
   7.  Héros
   8.  Sections communes (libellés, titres)
   9.  Pôles de services
   10. À propos / valeurs / méthode / différenciateurs / secteurs
   11. Références & CTA
   12. Pied de page
   13. Contenu WordPress (blocs, articles, commentaires, widgets, pagination)
   14. Accessibilité, animations, responsive
   ========================================================================= */

/* 1. ---------------------------------------------------------------- JETONS */
:root{
	/* Couleurs de marque (charte graphique Next Engineering) */
	--ne-bleu-next:#0299F4;      /* Couleur primaire — accents, boutons, liens */
	--ne-bleu-profond:#0B5FA5;   /* Dérivé foncé — survols, profondeur */
	--ne-bleu-nuit:#0A0F1A;      /* Nuit numérique — sections premium sombres */
	--ne-nuit-carte:#141A28;     /* Cartes sur fond nuit */
	--ne-nuit-bord:#232C40;      /* Bordures sur fond nuit */
	--ne-blanc-glace:#EAF4FD;    /* Blanc glacé — aplats & surfaces claires */
	--ne-anthracite:#1A2230;     /* Texte courant */
	--ne-ardoise:#64748B;        /* Texte secondaire */
	--ne-surface:#F4F8FC;        /* Fond de section alterné */
	--ne-bordure:#E2E8F0;        /* Bordures claires */
	--ne-blanc:#FFFFFF;          /* Fond principal */

	/* Teintes utilitaires dérivées */
	--ne-bleu-next-08:rgba(2,153,244,.08);
	--ne-bleu-next-14:rgba(2,153,244,.14);
	--ne-bleu-next-30:rgba(2,153,244,.30);

	/* Typographie */
	--ne-font-heading:'Montserrat','Arial','Helvetica',sans-serif;
	--ne-font-body:'Inter','Arial','Helvetica',sans-serif;
	--ne-fs-body:1.0625rem;
	--ne-lh-body:1.7;

	/* Rythme & formes */
	--ne-container:1200px;
	--ne-container-narrow:820px;
	--ne-gutter:clamp(1.25rem,5vw,3rem);
	--ne-section-y:clamp(4rem,8vw,7.5rem);
	--ne-radius-sm:10px;
	--ne-radius:16px;
	--ne-radius-lg:24px;
	--ne-radius-pill:999px;

	/* Ombres */
	--ne-shadow-sm:0 2px 8px rgba(16,36,64,.06);
	--ne-shadow:0 14px 40px rgba(11,95,165,.10);
	--ne-shadow-lg:0 30px 70px rgba(10,36,64,.16);
	--ne-shadow-blue:0 18px 44px rgba(2,153,244,.28);

	/* Transitions */
	--ne-ease:cubic-bezier(.16,.84,.44,1);
	--ne-t:.32s var(--ne-ease);

	/* Divers */
	--ne-header-h:84px;
}

/* 2. ------------------------------------------------------------ RESET/BASE */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--ne-header-h) + 16px);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
	margin:0;
	font-family:var(--ne-font-body);
	font-size:var(--ne-fs-body);
	line-height:var(--ne-lh-body);
	color:var(--ne-anthracite);
	background:var(--ne-blanc);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	overflow-x:hidden;
}
img,svg,video,canvas{max-width:100%;height:auto;display:block;}
figure{margin:0;}
a{color:var(--ne-bleu-profond);text-decoration:none;transition:color var(--ne-t);}
a:hover,a:focus{color:var(--ne-bleu-next);}
ul,ol{margin:0 0 1.25rem;padding-left:1.25rem;}
hr{border:0;border-top:1px solid var(--ne-bordure);margin:2.5rem 0;}
::selection{background:var(--ne-bleu-next);color:#fff;}
:focus-visible{outline:3px solid var(--ne-bleu-next);outline-offset:2px;border-radius:4px;}

/* 3. ------------------------------------------------------------ TYPOGRAPHIE */
h1,h2,h3,h4,h5,h6{
	font-family:var(--ne-font-heading);
	color:var(--ne-anthracite);
	line-height:1.12;
	letter-spacing:-.02em;
	margin:0 0 .6em;
	font-weight:800;
}
h1{font-size:clamp(2.6rem,1.4rem + 5vw,4.5rem);font-weight:900;}
h2{font-size:clamp(2rem,1.2rem + 3.4vw,3.25rem);}
h3{font-size:clamp(1.6rem,1.1rem + 2vw,2.25rem);font-weight:800;}
h4{font-size:1.35rem;font-weight:700;}
h5{font-size:1.1rem;font-weight:700;}
h6{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
p{margin:0 0 1.25rem;}
strong,b{font-weight:700;}
blockquote{
	margin:2rem 0;padding:1.4rem 1.8rem;
	border-left:4px solid var(--ne-bleu-next);
	background:var(--ne-surface);border-radius:0 var(--ne-radius-sm) var(--ne-radius-sm) 0;
	font-size:1.15rem;color:var(--ne-anthracite);
}
blockquote p:last-child{margin-bottom:0;}
code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;}
code{background:var(--ne-surface);padding:.15em .45em;border-radius:6px;color:var(--ne-bleu-profond);}
pre{background:var(--ne-bleu-nuit);color:#e6edf6;padding:1.25rem 1.5rem;border-radius:var(--ne-radius-sm);overflow:auto;}
pre code{background:none;color:inherit;padding:0;}
.ne-lead{font-size:clamp(1.1rem,1rem + .6vw,1.35rem);color:var(--ne-ardoise);line-height:1.65;}

/* 4. --------------------------------------------------------- MISE EN PAGE */
.ne-container{width:100%;max-width:var(--ne-container);margin-inline:auto;padding-inline:var(--ne-gutter);}
.ne-narrow{max-width:var(--ne-container-narrow);}
.ne-section{padding-block:var(--ne-section-y);position:relative;}
.ne-section--surface{background:var(--ne-surface);}
.ne-section--glace{background:linear-gradient(180deg,#fff 0%,var(--ne-blanc-glace) 100%);}
.ne-section--nuit{background:var(--ne-bleu-nuit);color:#c7d2e0;}
.ne-section--nuit h1,.ne-section--nuit h2,.ne-section--nuit h3,.ne-section--nuit h4{color:#fff;}
.ne-grid{display:grid;gap:clamp(1.25rem,2.5vw,2rem);}
.ne-text-center{text-align:center;}
.screen-reader-text{
	border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
	margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important;
}
.skip-link{
	position:absolute;left:-9999px;top:0;z-index:100000;
	background:var(--ne-bleu-next);color:#fff;padding:.9rem 1.4rem;border-radius:0 0 8px 0;
	font-family:var(--ne-font-heading);font-weight:700;
}
.skip-link:focus{left:0;color:#fff;}

/* 5. ------------------------------------------------------- BOUTONS/FORMS */
.ne-btn,
.wp-block-button__link,
button,input[type=submit],input[type=button],input[type=reset]{
	display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
	font-family:var(--ne-font-heading);font-weight:700;font-size:1rem;line-height:1;
	padding:.95rem 1.9rem;border-radius:var(--ne-radius-sm);border:2px solid transparent;
	background:var(--ne-bleu-next);color:#fff;cursor:pointer;text-align:center;
	transition:transform var(--ne-t),box-shadow var(--ne-t),background var(--ne-t),color var(--ne-t),border-color var(--ne-t);
	-webkit-appearance:none;appearance:none;
}
.ne-btn:hover,.ne-btn:focus,
.wp-block-button__link:hover,
button:hover,input[type=submit]:hover{
	background:var(--ne-bleu-profond);color:#fff;transform:translateY(-2px);box-shadow:var(--ne-shadow-blue);
}
.ne-btn svg{width:1.1em;height:1.1em;}
.ne-btn--ghost{background:transparent;color:var(--ne-bleu-profond);border-color:var(--ne-bordure);}
.ne-btn--ghost:hover{background:var(--ne-bleu-next-08);border-color:var(--ne-bleu-next);color:var(--ne-bleu-profond);box-shadow:none;transform:translateY(-2px);}
.ne-btn--light{background:#fff;color:var(--ne-bleu-profond);}
.ne-btn--light:hover{background:var(--ne-blanc-glace);color:var(--ne-bleu-profond);}
.ne-btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.ne-btn--outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;box-shadow:none;}
.ne-btn--lg{padding:1.1rem 2.3rem;font-size:1.05rem;}

input[type=text],input[type=email],input[type=url],input[type=password],
input[type=search],input[type=tel],input[type=number],input[type=date],
textarea,select{
	width:100%;font-family:var(--ne-font-body);font-size:1rem;color:var(--ne-anthracite);
	background:#fff;border:1.5px solid var(--ne-bordure);border-radius:var(--ne-radius-sm);
	padding:.85rem 1.05rem;transition:border-color var(--ne-t),box-shadow var(--ne-t);
}
textarea{min-height:150px;resize:vertical;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ne-bleu-next);box-shadow:0 0 0 4px var(--ne-bleu-next-14);}
label{font-weight:600;display:inline-block;margin-bottom:.4rem;font-size:.95rem;}

/* 6. ------------------------------------------------------ EN-TÊTE/NAV */
.ne-header{
	position:sticky;top:0;z-index:1000;width:100%;
	background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);
	border-bottom:1px solid var(--ne-bordure);
	transition:box-shadow var(--ne-t),background var(--ne-t);
}
.ne-header.is-stuck{box-shadow:var(--ne-shadow-sm);}
.ne-header__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--ne-header-h);}
.ne-brand{display:inline-flex;align-items:center;gap:.85rem;flex-shrink:0;}
.ne-brand__symbol{width:44px;height:44px;color:var(--ne-bleu-next);flex-shrink:0;}
.ne-brand__symbol svg{width:100%;height:100%;}
.ne-brand__bar{width:2px;height:34px;background:var(--ne-bordure);border-radius:2px;}
.ne-brand__text{display:flex;flex-direction:column;line-height:1;}
.ne-brand__name{font-family:var(--ne-font-heading);font-weight:800;font-size:1.18rem;letter-spacing:-.01em;color:var(--ne-anthracite);}
.ne-brand__base{font-family:var(--ne-font-heading);font-weight:600;font-size:.5rem;letter-spacing:.2em;color:var(--ne-ardoise);text-transform:uppercase;margin-top:4px;}
.ne-brand img.custom-logo{max-height:52px;width:auto;}

.ne-nav{display:flex;align-items:center;gap:1.25rem;}
.ne-menu{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0;}
.ne-menu li{position:relative;}
.ne-menu a{
	display:block;font-family:var(--ne-font-heading);font-weight:600;font-size:.96rem;white-space:nowrap;
	color:var(--ne-anthracite);padding:.5rem .7rem;border-radius:8px;transition:color var(--ne-t),background var(--ne-t);
}
.ne-menu a:hover,.ne-menu .current-menu-item>a,.ne-menu .current_page_item>a{color:var(--ne-bleu-next);background:var(--ne-bleu-next-08);}
.ne-menu .menu-item-has-children>a::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6;}
.ne-menu ul.sub-menu{
	position:absolute;top:calc(100% + 10px);left:0;min-width:230px;list-style:none;margin:0;padding:.5rem;
	background:#fff;border:1px solid var(--ne-bordure);border-radius:var(--ne-radius-sm);box-shadow:var(--ne-shadow);
	opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--ne-t);z-index:20;
}
.ne-menu li:hover>ul.sub-menu,.ne-menu li:focus-within>ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.ne-menu ul.sub-menu a{padding:.6rem .8rem;font-weight:500;}
.ne-header__cta{flex-shrink:0;white-space:nowrap;}
.ne-header__cta--mobile{display:none;}
@media (max-width:1180px){.ne-brand__base{display:none;}}
.ne-burger{
	display:none;width:46px;height:46px;border:1px solid var(--ne-bordure);border-radius:10px;
	background:#fff;padding:0;cursor:pointer;align-items:center;justify-content:center;
}
.ne-burger span,.ne-burger span::before,.ne-burger span::after{
	content:"";display:block;width:22px;height:2px;background:var(--ne-anthracite);border-radius:2px;transition:transform var(--ne-t),opacity var(--ne-t);
}
.ne-burger span::before{transform:translateY(-7px);}
.ne-burger span::after{transform:translateY(5px);}
.ne-burger[aria-expanded=true] span{background:transparent;}
.ne-burger[aria-expanded=true] span::before{transform:rotate(45deg);}
.ne-burger[aria-expanded=true] span::after{transform:rotate(-45deg) translateY(-1px);}

/* 7. --------------------------------------------------------------- HÉROS */
.ne-hero{position:relative;overflow:hidden;background:var(--ne-bleu-nuit);color:#c7d2e0;isolation:isolate;}
.ne-hero__bg{position:absolute;inset:0;z-index:-2;}
.ne-hero__bg::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 72% 12%,rgba(2,153,244,.20) 0%,rgba(2,153,244,0) 60%),radial-gradient(50% 50% at 8% 100%,rgba(11,95,165,.22) 0%,rgba(11,95,165,0) 60%);}
.ne-hero__net{position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;}
.ne-hero__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,4rem);align-items:center;padding-block:clamp(4.5rem,9vw,8rem);}
.ne-hero__eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ne-font-heading);font-weight:600;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:#7fc4f7;margin-bottom:1.4rem;}
.ne-hero__eyebrow::before{content:"//";color:var(--ne-bleu-next);font-weight:800;}
.ne-hero h1{color:#fff;margin-bottom:1.3rem;}
.ne-hero h1 .accent{color:var(--ne-bleu-next);}
.ne-hero__sub{font-size:clamp(1.1rem,1rem + .6vw,1.3rem);color:#9fb0c6;max-width:36ch;margin-bottom:2.2rem;}
.ne-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;}
.ne-hero__aside{position:relative;}
.ne-hero__card{background:linear-gradient(160deg,rgba(20,26,40,.9),rgba(10,15,26,.9));border:1px solid var(--ne-nuit-bord);border-radius:var(--ne-radius-lg);padding:2rem;box-shadow:var(--ne-shadow-lg);backdrop-filter:blur(6px);}
.ne-hero__card h2{font-size:1.25rem;color:#fff;margin-bottom:1.25rem;}
.ne-hero__pills{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0;padding:0;}
.ne-hero__pills li{font-family:var(--ne-font-heading);font-weight:600;font-size:.82rem;letter-spacing:.04em;color:#bcd6ea;padding:.5rem .9rem;border:1px solid var(--ne-nuit-bord);border-radius:var(--ne-radius-pill);background:rgba(2,153,244,.06);}
.ne-hero__marquee{border-top:1px solid var(--ne-nuit-bord);padding-block:1.15rem;}
.ne-hero__marquee-inner{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;justify-content:center;font-family:var(--ne-font-heading);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;color:#6c8299;}
.ne-hero__marquee-inner .dot{color:var(--ne-bleu-next);}

/* 8. -------------------------------------------------- SECTIONS COMMUNES */
.ne-eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--ne-font-heading);font-weight:600;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ne-bleu-profond);margin-bottom:1rem;}
.ne-eyebrow::before{content:"";width:28px;height:2px;background:var(--ne-bleu-next);border-radius:2px;}
.ne-section--nuit .ne-eyebrow{color:#7fc4f7;}
.ne-section__head{max-width:720px;margin-bottom:clamp(2.5rem,5vw,3.75rem);}
.ne-section__head.is-center{margin-inline:auto;text-align:center;}
.ne-section__head.is-center .ne-eyebrow{justify-content:center;}
.ne-section__title .accent{color:var(--ne-bleu-next);}
.ne-section__intro{color:var(--ne-ardoise);font-size:1.15rem;margin-top:.5rem;}
.ne-section--nuit .ne-section__intro{color:#9fb0c6;}

/* 9. ------------------------------------------------------- PÔLES/SERVICES */
.ne-services{grid-template-columns:repeat(3,1fr);}
.ne-service{
	position:relative;background:#fff;border:1px solid var(--ne-bordure);border-radius:var(--ne-radius-lg);
	padding:2.1rem 1.9rem;overflow:hidden;transition:transform var(--ne-t),box-shadow var(--ne-t),border-color var(--ne-t);
	display:flex;flex-direction:column;
}
.ne-service::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--ne-bleu-next),var(--ne-bleu-profond));transform:scaleX(0);transform-origin:left;transition:transform var(--ne-t);}
.ne-service:hover{transform:translateY(-6px);box-shadow:var(--ne-shadow-lg);border-color:transparent;}
.ne-service:hover::before{transform:scaleX(1);}
.ne-service__num{position:absolute;top:1.2rem;right:1.5rem;font-family:var(--ne-font-heading);font-weight:900;font-size:2.6rem;line-height:1;color:var(--ne-bleu-next-08);letter-spacing:-.04em;}
.ne-service__icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--ne-bleu-next-08);color:var(--ne-bleu-next);margin-bottom:1.3rem;transition:background var(--ne-t),color var(--ne-t);}
.ne-service__icon svg{width:32px;height:32px;}
.ne-service:hover .ne-service__icon{background:var(--ne-bleu-next);color:#fff;}
.ne-service__title{font-size:1.3rem;margin-bottom:.5rem;}
.ne-service__title a{color:inherit;}
.ne-service__title a:hover{color:var(--ne-bleu-next);}
.ne-service__tagline{color:var(--ne-anthracite);font-weight:500;margin-bottom:.75rem;}
.ne-service__desc{color:var(--ne-ardoise);font-size:.98rem;margin-bottom:1.25rem;}
.ne-service__list{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;gap:.5rem;}
.ne-service__list li{position:relative;padding-left:1.5rem;font-size:.95rem;color:var(--ne-anthracite);}
.ne-service__list li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--ne-bleu-next);}
.ne-service__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;}
.ne-tag{font-family:var(--ne-font-heading);font-weight:600;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ne-bleu-profond);border:1px solid var(--ne-bleu-next-30);border-radius:var(--ne-radius-pill);padding:.32rem .7rem;}
.ne-service__more{margin-top:1.3rem;font-family:var(--ne-font-heading);font-weight:700;font-size:.95rem;display:inline-flex;align-items:center;gap:.4rem;}
.ne-service__more svg{width:1em;height:1em;transition:transform var(--ne-t);}
.ne-service__more:hover svg{transform:translateX(4px);}

/* 10. -------------------------------------- À PROPOS / VALEURS / MÉTHODE */
.ne-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2.5rem);}
.ne-card{background:#fff;border:1px solid var(--ne-bordure);border-radius:var(--ne-radius);padding:2rem;box-shadow:var(--ne-shadow-sm);}
.ne-card h3{font-size:1.3rem;}
.ne-card .ne-eyebrow{margin-bottom:.75rem;}
.ne-section--nuit .ne-card{background:var(--ne-nuit-carte);border-color:var(--ne-nuit-bord);color:#a9b7c9;}

.ne-values{grid-template-columns:repeat(5,1fr);margin-top:1rem;}
.ne-value{background:var(--ne-surface);border:1px solid var(--ne-bordure);border-radius:var(--ne-radius);padding:1.5rem;transition:transform var(--ne-t),box-shadow var(--ne-t);}
.ne-value:hover{transform:translateY(-4px);box-shadow:var(--ne-shadow);}
.ne-value__icon{width:44px;height:44px;color:var(--ne-bleu-next);margin-bottom:.9rem;}
.ne-value h4{font-size:1.1rem;margin-bottom:.35rem;}
.ne-value p{font-size:.9rem;color:var(--ne-ardoise);margin:0;}

/* Statistiques / faits */
.ne-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,2rem);}
.ne-stat{text-align:center;padding:1.5rem 1rem;border-radius:var(--ne-radius);}
.ne-stat__num{font-family:var(--ne-font-heading);font-weight:900;font-size:clamp(2.4rem,2rem + 2vw,3.5rem);line-height:1;color:var(--ne-bleu-next);letter-spacing:-.03em;}
.ne-stat__label{font-family:var(--ne-font-heading);font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ne-ardoise);margin-top:.6rem;}
.ne-section--nuit .ne-stat__num{color:#fff;}
.ne-section--nuit .ne-stat__label{color:#8296ad;}

/* Méthode (timeline 5 étapes) */
.ne-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem;position:relative;}
.ne-steps::before{content:"";position:absolute;top:34px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--ne-bleu-next-30),var(--ne-bleu-next),var(--ne-bleu-next-30));z-index:0;}
.ne-step{position:relative;z-index:1;text-align:center;}
.ne-step__badge{width:68px;height:68px;margin:0 auto 1.1rem;border-radius:50%;background:#fff;border:2px solid var(--ne-bleu-next);color:var(--ne-bleu-next);display:flex;align-items:center;justify-content:center;font-family:var(--ne-font-heading);font-weight:900;font-size:1.5rem;box-shadow:0 0 0 6px #fff,var(--ne-shadow-sm);transition:transform var(--ne-t),background var(--ne-t),color var(--ne-t);}
.ne-step:hover .ne-step__badge{background:var(--ne-bleu-next);color:#fff;transform:translateY(-4px);}
.ne-step h4{font-size:1.12rem;margin-bottom:.35rem;}
.ne-step p{font-size:.9rem;color:var(--ne-ardoise);margin:0;}
.ne-section--nuit .ne-steps::before{opacity:.5;}
.ne-section--nuit .ne-step__badge{background:var(--ne-nuit-carte);box-shadow:0 0 0 6px var(--ne-bleu-nuit);}
.ne-section--nuit .ne-step h4{color:#fff;}
.ne-section--nuit .ne-step p{color:#8296ad;}

/* Différenciateurs */
.ne-diff{grid-template-columns:repeat(3,1fr);}
.ne-diff__item{padding:1.75rem;border-radius:var(--ne-radius);background:var(--ne-nuit-carte);border:1px solid var(--ne-nuit-bord);}
.ne-diff__item h4{color:#fff;font-size:1.15rem;margin-bottom:.5rem;display:flex;gap:.6rem;align-items:center;}
.ne-diff__item h4 .n{color:var(--ne-bleu-next);font-weight:900;}
.ne-diff__item p{color:#9fb0c6;font-size:.95rem;margin:0;}

/* Engagements */
.ne-pledges{grid-template-columns:repeat(5,1fr);}
.ne-pledge{text-align:center;padding:1.5rem 1rem;background:var(--ne-surface);border-radius:var(--ne-radius);border:1px solid var(--ne-bordure);}
.ne-pledge__icon{width:40px;height:40px;margin:0 auto .8rem;color:var(--ne-bleu-next);}
.ne-pledge h4{font-size:1.02rem;margin-bottom:.3rem;}
.ne-pledge p{font-size:.85rem;color:var(--ne-ardoise);margin:0;}
.ne-section--nuit .ne-pledge{background:var(--ne-nuit-carte);border-color:var(--ne-nuit-bord);}
.ne-section--nuit .ne-pledge h4{color:#fff;}
.ne-section--nuit .ne-pledge p{color:#8296ad;}

/* Secteurs */
.ne-sectors{grid-template-columns:repeat(4,1fr);}
.ne-sector{background:#fff;border:1px solid var(--ne-bordure);border-radius:var(--ne-radius);padding:1.6rem;transition:transform var(--ne-t),box-shadow var(--ne-t),border-color var(--ne-t);}
.ne-sector:hover{transform:translateY(-5px);box-shadow:var(--ne-shadow);border-color:var(--ne-bleu-next-30);}
.ne-sector__icon{width:46px;height:46px;color:var(--ne-bleu-next);margin-bottom:1rem;}
.ne-sector h4{font-size:1.08rem;margin-bottom:.4rem;}
.ne-sector p{font-size:.9rem;color:var(--ne-ardoise);margin:0;}

/* 11. -------------------------------------------------- RÉFÉRENCES / CTA */
.ne-quotes{grid-template-columns:1fr 1fr;}
.ne-quote{background:var(--ne-nuit-carte);border:1px solid var(--ne-nuit-bord);border-radius:var(--ne-radius);padding:2rem;}
.ne-quote__mark{font-family:var(--ne-font-heading);font-weight:900;font-size:2.4rem;line-height:.5;color:var(--ne-bleu-next);}
.ne-quote p{color:#c7d2e0;font-size:1.05rem;margin:1rem 0;}
.ne-quote cite{font-style:normal;font-family:var(--ne-font-heading);font-weight:600;font-size:.85rem;letter-spacing:.06em;color:#7f93aa;}
.ne-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem;}
.ne-logo-slot{aspect-ratio:16/7;display:flex;align-items:center;justify-content:center;border:1px dashed var(--ne-nuit-bord);border-radius:var(--ne-radius-sm);font-family:var(--ne-font-heading);font-weight:600;font-size:.72rem;letter-spacing:.14em;color:#5b6f88;}

.ne-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--ne-bleu-next) 0%,var(--ne-bleu-profond) 100%);color:#fff;border-radius:var(--ne-radius-lg);padding:clamp(2.5rem,5vw,4.5rem);text-align:center;isolation:isolate;box-shadow:var(--ne-shadow-lg);}
.ne-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 85% 0,rgba(255,255,255,.18),transparent 60%);}
.ne-cta h2{color:#fff;max-width:22ch;margin-inline:auto;}
.ne-cta p{color:rgba(255,255,255,.9);font-size:1.15rem;max-width:52ch;margin:1rem auto 2rem;}
.ne-cta__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* Contact */
.ne-contact{grid-template-columns:repeat(2,1fr);}
.ne-contact__item{display:flex;gap:1.1rem;align-items:flex-start;padding:1.5rem;background:var(--ne-nuit-carte);border:1px solid var(--ne-nuit-bord);border-radius:var(--ne-radius);}
.ne-contact__ic{flex-shrink:0;width:48px;height:48px;border-radius:50%;border:1px solid var(--ne-bleu-next);color:var(--ne-bleu-next);display:flex;align-items:center;justify-content:center;}
.ne-contact__ic svg{width:22px;height:22px;}
.ne-contact__k{font-family:var(--ne-font-heading);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#7f93aa;margin-bottom:.25rem;}
.ne-contact__v{color:#fff;font-size:1.05rem;word-break:break-word;}
.ne-contact__v a{color:#fff;}
.ne-contact__v a:hover{color:var(--ne-bleu-next);}

/* 12. --------------------------------------------------------- PIED DE PAGE */
.ne-footer{background:var(--ne-bleu-nuit);color:#8fa1b8;position:relative;overflow:hidden;}
.ne-footer__net{position:absolute;inset:0;opacity:.25;pointer-events:none;}
.ne-footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem;padding-block:clamp(3rem,6vw,5rem);position:relative;}
.ne-footer__brand .ne-brand__name{color:#fff;}
.ne-footer__brand .ne-brand__symbol{color:var(--ne-bleu-next);}
.ne-footer__brand .ne-brand__base{color:#6c8299;}
.ne-footer__tag{margin:1.3rem 0 1.5rem;max-width:34ch;color:#8fa1b8;}
.ne-footer h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem;font-weight:700;}
.ne-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;}
.ne-footer a{color:#8fa1b8;}
.ne-footer a:hover{color:var(--ne-bleu-next);}
.ne-footer__contact li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;}
.ne-footer__contact svg{width:18px;height:18px;color:var(--ne-bleu-next);flex-shrink:0;margin-top:3px;}
.ne-social{display:flex;gap:.6rem;margin-top:1.3rem;}
.ne-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--ne-nuit-bord);display:flex;align-items:center;justify-content:center;color:#8fa1b8;transition:all var(--ne-t);}
.ne-social a:hover{background:var(--ne-bleu-next);border-color:var(--ne-bleu-next);color:#fff;transform:translateY(-3px);}
.ne-social svg{width:18px;height:18px;}
.ne-footer__bottom{border-top:1px solid var(--ne-nuit-bord);padding-block:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:.85rem;position:relative;}
.ne-footer__bottom .baseline{font-family:var(--ne-font-heading);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6c8299;font-size:.78rem;}

/* 13. --------------------------------------------------- CONTENU WORDPRESS */
.ne-page{padding-block:clamp(3rem,6vw,5rem);}
.ne-page__header{margin-bottom:2.5rem;}
.ne-page__title{margin-bottom:.5rem;}
.ne-page-hero{background:var(--ne-bleu-nuit);color:#fff;padding-block:clamp(3rem,6vw,5rem);position:relative;overflow:hidden;}
.ne-page-hero .ne-breadcrumb,.ne-page-hero .ne-page__meta{color:#9fb0c6;}
.ne-page-hero h1{color:#fff;}
.ne-breadcrumb{font-size:.88rem;color:var(--ne-ardoise);margin-bottom:.75rem;}
.ne-breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:2px;}

.entry-content{max-width:var(--ne-container-narrow);}
.entry-content>*{margin-block:0 1.5rem;}
.entry-content h2{margin-top:2.5rem;}
.entry-content h3{margin-top:2rem;}
.entry-content img,.entry-content .wp-block-image{border-radius:var(--ne-radius-sm);}
.entry-content ul,.entry-content ol{padding-left:1.4rem;}
.entry-content li{margin-bottom:.5rem;}
.entry-content a{text-decoration:underline;text-underline-offset:2px;}

/* Alignements de blocs */
.alignwide{margin-inline:auto;max-width:min(var(--ne-container),100% - 2*var(--ne-gutter));width:min(1080px,100%);}
.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw;width:100vw;}
.aligncenter{margin-inline:auto;}
.alignleft{float:left;margin:.4rem 1.75rem 1rem 0;}
.alignright{float:right;margin:.4rem 0 1rem 1.75rem;}
.wp-block-image figcaption,.wp-caption-text{font-size:.85rem;color:var(--ne-ardoise);text-align:center;margin-top:.5rem;}
.wp-block-quote,.wp-block-pullquote{border-left:4px solid var(--ne-bleu-next);padding-left:1.5rem;}
.wp-block-separator{max-width:80px;border-top:2px solid var(--ne-bleu-next);opacity:1;}
.wp-block-button__link{text-decoration:none;}

/* Carte article / grille de blog */
.ne-posts{grid-template-columns:repeat(3,1fr);}
.ne-post{background:#fff;border:1px solid var(--ne-bordure);border-radius:var(--ne-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--ne-t),box-shadow var(--ne-t);}
.ne-post:hover{transform:translateY(-5px);box-shadow:var(--ne-shadow-lg);}
.ne-post__thumb{aspect-ratio:16/10;overflow:hidden;background:var(--ne-surface);}
.ne-post__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ne-ease);}
.ne-post:hover .ne-post__thumb img{transform:scale(1.05);}
.ne-post__body{padding:1.5rem;display:flex;flex-direction:column;flex:1;}
.ne-post__meta{font-size:.8rem;color:var(--ne-ardoise);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem;font-family:var(--ne-font-heading);font-weight:600;}
.ne-post__title{font-size:1.25rem;margin-bottom:.6rem;}
.ne-post__title a{color:inherit;}
.ne-post__title a:hover{color:var(--ne-bleu-next);}
.ne-post__excerpt{color:var(--ne-ardoise);font-size:.95rem;margin-bottom:1.1rem;}
.ne-post__more{margin-top:auto;font-family:var(--ne-font-heading);font-weight:700;font-size:.92rem;color:var(--ne-bleu-profond);display:inline-flex;gap:.4rem;align-items:center;}
.ne-badge{display:inline-block;background:var(--ne-bleu-next-08);color:var(--ne-bleu-profond);font-family:var(--ne-font-heading);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .7rem;border-radius:var(--ne-radius-pill);}

/* Pagination */
.ne-pagination{margin-top:3.5rem;display:flex;justify-content:center;}
.ne-pagination ul.page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;}
.ne-pagination li{margin:0;border:0;padding:0;}
.ne-pagination a.page-numbers,.ne-pagination span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 .7rem;border-radius:10px;border:1px solid var(--ne-bordure);font-family:var(--ne-font-heading);font-weight:600;color:var(--ne-anthracite);}
.ne-pagination span.page-numbers.current{background:var(--ne-bleu-next);border-color:var(--ne-bleu-next);color:#fff;}
.ne-pagination a.page-numbers:hover{border-color:var(--ne-bleu-next);color:var(--ne-bleu-next);}
.ne-pagination .page-numbers.dots{border-color:transparent;}
.ne-flip{transform:scaleX(-1);}

/* Barre latérale & widgets */
.ne-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.ne-sidebar .widget{background:#fff;border:1px solid var(--ne-bordure);border-radius:var(--ne-radius);padding:1.5rem;margin-bottom:1.75rem;}
.ne-sidebar .widget-title{font-size:1.05rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--ne-bleu-next);display:inline-block;}
.ne-sidebar ul{list-style:none;margin:0;padding:0;}
.ne-sidebar li{padding:.45rem 0;border-bottom:1px solid var(--ne-bordure);}
.ne-sidebar li:last-child{border-bottom:0;}

/* Commentaires */
.ne-comments{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--ne-bordure);}
.comment-list{list-style:none;padding:0;margin:0;}
.comment-list li{margin-bottom:1.5rem;}
.comment-body{background:var(--ne-surface);border:1px solid var(--ne-bordure);border-radius:var(--ne-radius);padding:1.5rem;}
.comment-list .children{list-style:none;margin-top:1.5rem;padding-left:clamp(1rem,3vw,2.5rem);}
.comment-author{font-family:var(--ne-font-heading);font-weight:700;}
.comment-metadata{font-size:.82rem;color:var(--ne-ardoise);}
.comment-respond{margin-top:2.5rem;}
.ne-comments-title{font-size:1.4rem;margin-bottom:1.5rem;}
.comment-reply-title{font-size:1.3rem;margin-bottom:1rem;}
.comment-form p{margin-bottom:1rem;}
.comment-form .comment-notes,.comment-form label{font-size:.9rem;color:var(--ne-ardoise);}
.comment-list .reply a{font-family:var(--ne-font-heading);font-weight:600;font-size:.85rem;color:var(--ne-bleu-profond);}

/* Formulaire de recherche */
.ne-searchform{display:flex;gap:.5rem;}
.ne-searchform__field{flex:1;}
.ne-searchform__submit{flex-shrink:0;width:52px;height:auto;padding:0;}
.ne-searchform__submit svg{width:20px;height:20px;}
.ne-page-hero .ne-searchform__field{background:rgba(255,255,255,.1);border-color:var(--ne-nuit-bord);color:#fff;}

/* Méta & navigation d'article */
.ne-single-meta{display:flex;flex-wrap:wrap;gap:1.25rem;color:#9fb0c6;font-family:var(--ne-font-heading);font-weight:600;font-size:.9rem;}
.ne-single-meta span{display:inline-flex;align-items:center;gap:.4rem;}
.ne-hero-cats a,.ne-post__cat a{display:inline-block;background:var(--ne-bleu-next-14);color:#fff;font-family:var(--ne-font-heading);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .8rem;border-radius:var(--ne-radius-pill);margin-right:.35rem;}
.ne-post__cat a{background:var(--ne-bleu-next-08);color:var(--ne-bleu-profond);}
.ne-post-nav{display:flex;justify-content:space-between;gap:1.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ne-bordure);flex-wrap:wrap;}
.ne-post-nav a{display:flex;flex-direction:column;gap:.25rem;max-width:48%;}
.ne-post-nav .nav-next{text-align:right;margin-left:auto;}
.ne-navlabel{font-family:var(--ne-font-heading);font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ne-ardoise);}
.ne-navtitle{font-family:var(--ne-font-heading);font-weight:700;color:var(--ne-anthracite);}
.ne-post-tags{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.5rem;}
.ne-post-tags a{font-size:.82rem;color:var(--ne-bleu-profond);border:1px solid var(--ne-bordure);border-radius:var(--ne-radius-pill);padding:.3rem .8rem;}
.ne-post-tags a:hover{border-color:var(--ne-bleu-next);background:var(--ne-bleu-next-08);}
.ne-page-links{margin-top:1.5rem;font-family:var(--ne-font-heading);font-weight:600;}
.ne-page-links a{display:inline-block;min-width:36px;text-align:center;padding:.3rem .6rem;margin:0 .2rem;border:1px solid var(--ne-bordure);border-radius:8px;}

/* Contenu pleine largeur (gabarit) */
.ne-primary{min-width:0;}
.entry-content--full{max-width:none;}
.entry-content--full>*{margin-inline:auto;max-width:var(--ne-container);padding-inline:var(--ne-gutter);}
.entry-content--full>.alignfull{max-width:100vw;padding-inline:0;}
.entry-content--full>.alignwide{max-width:min(var(--ne-container),100%);}

/* 14. ------------------------------------------ ANIMATIONS / RESPONSIVE */
.ne-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ne-ease),transform .7s var(--ne-ease);}
.ne-reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
	.ne-reveal{opacity:1!important;transform:none!important;transition:none;}
	*{scroll-behavior:auto!important;}
}

@media (max-width:1080px){
	.ne-services,.ne-diff,.ne-posts{grid-template-columns:repeat(2,1fr);}
	.ne-values,.ne-pledges{grid-template-columns:repeat(3,1fr);}
	.ne-sectors{grid-template-columns:repeat(2,1fr);}
	.ne-steps{grid-template-columns:repeat(3,1fr);row-gap:2.5rem;}
	.ne-steps::before{display:none;}
	.ne-stats{grid-template-columns:repeat(2,1fr);}
	.ne-footer__top{grid-template-columns:1fr 1fr;}
	.ne-hero__inner{grid-template-columns:1fr;}
	.ne-hero__aside{max-width:480px;}
	.ne-layout{grid-template-columns:1fr;}
	.ne-sidebar{margin-top:2.5rem;}
}
@media (max-width:820px){
	.ne-nav{position:fixed;inset:var(--ne-header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--ne-bordure);box-shadow:var(--ne-shadow);padding:1rem var(--ne-gutter) 1.5rem;transform:translateY(-120%);transition:transform var(--ne-t);max-height:calc(100vh - var(--ne-header-h));overflow:auto;}
	.ne-nav.is-open{transform:translateY(0);}
	.ne-menu{flex-direction:column;align-items:stretch;gap:.15rem;width:100%;}
	.ne-menu a{padding:.85rem .5rem;font-size:1.05rem;}
	.ne-menu ul.sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding-left:1rem;background:transparent;}
	.ne-header__cta--desktop{display:none;}
	.ne-header__cta--mobile{display:inline-flex;margin-top:1rem;width:100%;}
	.ne-burger{display:inline-flex;}
	.ne-split,.ne-quotes,.ne-contact{grid-template-columns:1fr;}
	.ne-brand__base{display:none;}
}
@media (max-width:560px){
	.ne-services,.ne-diff,.ne-posts,.ne-values,.ne-pledges,.ne-sectors,.ne-steps,.ne-stats,.ne-logos{grid-template-columns:1fr;}
	.ne-footer__top{grid-template-columns:1fr;}
	.ne-hero__actions .ne-btn,.ne-cta__actions .ne-btn{width:100%;}
}
