/* Nerd Marketing (démo) - feuille du site. Valeurs relevées dans la maquette Figma
   RRdwgXrMRKwim6486yAATs, cadre « Accueil - Desktop » (1440 px). Oxygen ne garde que les
   crochets {--nm:1} ; tout le rendu est ici. Points de rupture = ceux d'Oxygen (1119/1023/767/479). */

:root {
	--nm-bleu: #062c49;
	--nm-bleu-1: #115992;
	--nm-bleu-2: #3aa8ff;
	--nm-vert: #98c93c;
	--nm-lime: #ccdc36;
	--nm-gris: #eef0f3;
	--nm-grad-btn: linear-gradient(-54deg, #ccdc36 20.5%, #98c83c 71.8%);
	--nm-grad-btn-hover: linear-gradient(-54deg, #98c83c 20.5%, #ccdc36 71.8%);
	--nm-gouttiere: 120px;
}

html { overflow-x: clip; }
body { background: #072136; margin: 0; }
body, .nm-entete, .nm-pied, .nm-accueil-racine { font-family: 'Nunito', system-ui, sans-serif; }
.nm-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nm-sc { display: contents; }
.nm-vert { color: var(--nm-vert); }
.nm-entete a, .nm-pied a, .nm-page a { text-decoration: none; }
.nm-page *, .nm-entete *, .nm-pied * { box-sizing: border-box; }

/* Le fond de la page d'accueil : dégradé du cadre Figma (0 -> 5315 px), recalé sous l'entête de 109 px. */
.nm-page {
	overflow-x: clip;
	color: #fff;
	font-family: 'Nunito', system-ui, sans-serif;
	background: linear-gradient(180deg, #062a46 0, #115992 876px, #0a3354 3008px, #072136 3928px, #0a3352 5206px);
}

/* ------------------------------------------------------------------ boutons */
.nm-btn {
	display: inline-flex; align-items: center; gap: 16px;
	height: 56px; padding: 0 32px; border-radius: 50px;
	font: 500 16px/24px 'Nunito', sans-serif; text-transform: uppercase; white-space: nowrap;
	transition: background .2s, color .2s, border-color .2s;
}
.nm-btn::after {
	content: ''; width: 7px; height: 7px; margin-left: -2px;
	border: solid currentColor; border-width: 3px 3px 0 0; transform: rotate(45deg);
}
.nm-btn--plein { color: #fff; background: var(--nm-grad-btn); }
.nm-btn--plein:hover { background: var(--nm-grad-btn-hover); }
.nm-btn--contour { color: var(--nm-vert); border: 2px solid var(--nm-lime); }
.nm-btn--contour:hover { color: var(--nm-bleu); background: var(--nm-lime); }
.nm-btn:focus-visible, .nm-entete a:focus-visible, .nm-pied a:focus-visible, .nm-carte__lien:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* ------------------------------------------------------------------ entête */
.nm-entete {
	position: relative; z-index: 50;
	display: flex; align-items: flex-start; height: 109px;
	background: #1a6fb6 url(img/hd/menu-bg.png) center / cover no-repeat;
}
.nm-logo { flex: 0 0 auto; width: 203px; height: 96px; display: flex; align-items: center; justify-content: center; padding-right: 12px; }
.nm-logo__img { width: 96px; height: auto; display: block; }
.nm-panneau {
	flex: 1 1 auto; min-width: 0; height: 96px;
	background: var(--nm-bleu); border-bottom-left-radius: 24px; box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
	display: flex; flex-direction: column;
}
.nm-rangee { display: flex; align-items: center; height: 48px; }
.nm-rangee--haut { background: linear-gradient(90deg, transparent 355px, var(--nm-bleu-1) 355px); }
.nm-nav { display: flex; align-items: center; height: 100%; }
.nm-nav__lien {
	display: flex; align-items: center; height: 48px; padding: 0 32px;
	font: 400 14px/24px 'Nunito', sans-serif; letter-spacing: .98px; text-transform: uppercase; color: #fff; white-space: nowrap;
	transition: color .2s, background .2s;
}
.nm-nav__lien:hover { color: var(--nm-vert); }
.nm-nav__lien--auto { background: var(--nm-bleu-2); font-weight: 700; }
.nm-nav__lien--auto:hover { color: #fff; background: #2f95e6; }
.nm-nav__lien--deroulant::after {
	content: ''; width: 7px; height: 7px; margin: -5px 0 0 10px;
	border: solid currentColor; border-width: 0 3px 3px 0; transform: rotate(45deg);
}
.nm-sociaux { display: flex; align-items: center; }
.nm-sociaux--entete { gap: 16px; margin-left: auto; padding-left: 24px; }
.nm-sociaux--entete .nm-social__img { width: 16px; height: 16px; }
.nm-social { display: block; line-height: 0; transition: opacity .2s; }
.nm-social:hover { opacity: .75; }
.nm-social__img { display: block; }
.nm-langue { padding: 0 99px 0 37px; font: 700 16px/24px 'Nunito', sans-serif; color: #fff; }
.nm-langue:hover { color: var(--nm-vert); }
.nm-rangee--bas { justify-content: flex-end; }
.nm-nav--bas { margin-right: 18px; }
.nm-sep { width: 2px; height: 25px; background: #98c83c; margin-right: 32px; }
.nm-recherche { display: flex; align-items: center; height: 48px; padding: 0; margin-right: 173px; }
.nm-recherche__img { width: 17px; height: 16px; display: block; }
.nm-cta-auto, .nm-cta-pro {
	display: flex; align-items: center; justify-content: center; height: 48px; width: 181px;
	font: 700 14px/22px 'Roboto', 'Nunito', sans-serif; letter-spacing: .98px; text-transform: uppercase; color: #fff; white-space: nowrap;
	transition: filter .2s;
}
.nm-cta-auto { background: linear-gradient(-53deg, #1764a2 20.5%, #3aa8ff 71.8%); }
.nm-cta-pro { width: 182px; background: linear-gradient(115deg, #ccdc36 2.7%, #7dba07 67.3%); text-shadow: 0 2px 1px rgba(0, 0, 0, .3); }
.nm-cta-auto:hover, .nm-cta-pro:hover { filter: brightness(1.08); }
.nm-burger { display: none; }

/* ------------------------------------------------------------------ héros */
.nm-heros {
	position: relative; overflow: hidden;
	background:
		radial-gradient(ellipse 760px 420px at 12% 108%, rgba(24, 132, 218, .75), rgba(24, 132, 218, 0) 70%),
		radial-gradient(ellipse 1100px 300px at 30% 100%, rgba(24, 132, 218, .35), rgba(24, 132, 218, 0) 75%),
		linear-gradient(180deg, #05253f 0, #0b3d66 100%);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.nm-heros__in {
	max-width: 1440px; margin: 0 auto; padding: 32px var(--nm-gouttiere) 57px;
	display: grid; grid-template-columns: minmax(0, 638px) minmax(0, 498px); justify-content: space-between; column-gap: 40px;
}
.nm-heros__gauche { padding-right: 0; }
.nm-surtitre { margin: 0 0 8px; font: 400 18px/32px 'Nunito', sans-serif; text-transform: uppercase; color: var(--nm-vert); }
.nm-h1 { margin: 0 0 8px; font: 700 48px/56px 'Nunito', sans-serif; letter-spacing: -1px; text-transform: uppercase; color: #fff; max-width: 638px; }
.nm-heros__txt { margin: 0 0 24px; font: 400 18px/32px 'Nunito', sans-serif; color: #fff; }
.nm-boutons { display: flex; flex-wrap: wrap; gap: 24px; }
.nm-partenaires { display: flex; align-items: flex-start; gap: 24px; margin-top: 32px; }
.nm-partenaire { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; }
.nm-partenaire__img { flex: 0 0 auto; display: block; width: 180px; height: auto; }
.nm-avis { margin: 4px 0 4px; font: 400 14px/20px 'Nunito', sans-serif; color: #fff; text-align: center; }
.nm-etoiles { display: block; width: 71px; height: auto; }
.nm-heros__droite { padding-right: 70px; display: flex; flex-direction: column; align-items: center; scroll-margin-top: 24px; }
.nm-form__titre { margin: 0; font: 400 24px/32px 'Nunito', sans-serif; text-transform: uppercase; text-align: center; color: #fff; }
.nm-form__trait { display: block; width: 146px; height: 2px; background: var(--nm-vert); margin: 16px 0 15px; }

/* formulaire (CF7 rendu par [nm_formulaire]) */
.nm-form { width: 100%; }
.nm-form .wpcf7-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin: 0; }
.nm-form p { margin: 0; }
.nm-form .nm-f--large { grid-column: 1 / -1; }
.nm-form .wpcf7-form-control-wrap { display: block; }
.nm-form label { display: block; }
.nm-form .nm-f__lab { display: block; margin: 0 0 4px 14px; font: 400 14px/20px 'Nunito', sans-serif; color: #fff; }
.nm-form input[type=text], .nm-form input[type=email], .nm-form input[type=tel], .nm-form input[type=url], .nm-form select, .nm-form textarea {
	display: block; width: 100%; height: 50px; margin: 0; padding: 13px 16px 13px 15px;
	background: rgba(238, 240, 243, .1); border: 2px solid var(--nm-gris); border-radius: 24px;
	font: 400 14px/20px 'Nunito', sans-serif; color: #fff; outline: 0; transition: border-color .2s, background .2s;
	-webkit-appearance: none; appearance: none;
}
.nm-form textarea { height: 74px; resize: vertical; padding-top: 14px; }
.nm-form ::placeholder { color: #fff; opacity: 1; }
.nm-form input:focus, .nm-form textarea:focus, .nm-form select:focus { border-color: var(--nm-vert); background: rgba(238, 240, 243, .16); }
.nm-form select {
	border-color: var(--nm-vert); color: var(--nm-vert); padding-left: 17px; cursor: pointer; background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='11' viewBox='0 0 18 11'%3E%3Cpath d='M1.5 1.5l7.5 7.5 7.5-7.5' fill='none' stroke='%2398c93c' stroke-width='3'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 26px center;
}
.nm-form select option { color: var(--nm-bleu); }
.nm-form .nm-f--envoi { grid-column: 1 / -1; padding-left: 2px; }
.nm-form .wpcf7-submit {
	height: 56px; padding: 0 64px 0 32px; border: 0; border-radius: 50px; cursor: pointer;
	font: 500 16px/24px 'Nunito', sans-serif; text-transform: uppercase; color: #fff;
	background: var(--nm-grad-btn) padding-box;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='14' viewBox='0 0 9 14'%3E%3Cpath d='M1.5 1.5L7 7l-5.5 5.5' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E"), var(--nm-grad-btn);
	background-repeat: no-repeat; background-position: right 32px center, 0 0;
}
.nm-form .wpcf7-submit:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='14' viewBox='0 0 9 14'%3E%3Cpath d='M1.5 1.5L7 7l-5.5 5.5' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E"), var(--nm-grad-btn-hover);
}
.nm-form .wpcf7-spinner { margin: 0 0 0 12px; vertical-align: middle; }
.nm-form .wpcf7-not-valid-tip { margin: 4px 0 0 16px; font: 400 13px/18px 'Nunito', sans-serif; color: #ffb4a8; }
.nm-form .wpcf7-response-output { grid-column: 1 / -1; margin: 0 !important; padding: 10px 16px !important; border-radius: 16px; font: 400 14px/20px 'Nunito', sans-serif; color: #fff; }
.nm-form .nm-f--piege { position: absolute !important; left: -9999px; }

/* ------------------------------------------------------------------ sections communes */
.nm-centre { max-width: 1440px; margin: 0 auto; padding: 0 var(--nm-gouttiere); text-align: center; display: flex; flex-direction: column; align-items: center; }
.nm-h2 { margin: 0; font: 800 48px/56px 'Nunito', sans-serif; letter-spacing: -1px; text-transform: uppercase; color: #fff; }
.nm-h2--centre { text-align: center; }
.nm-lead { max-width: 1045px; margin: 16px 0 0; font: 400 22px/30px 'Nunito', sans-serif; color: #fff; }

.nm-bienvenue { padding: 97px 0 96px; }
.nm-bienvenue .nm-btn { margin-top: 48px; }

.nm-services {
	padding: 96px 0 72px;
	background: linear-gradient(176.4deg, #0a3354 0%, rgba(17, 89, 146, 0) 50.5%, #0a3354 100%);
	scroll-margin-top: 0;
}
.nm-services__in { max-width: 1440px; margin: 0 auto; padding: 0 124px; }
.nm-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 360px)); justify-content: space-between; row-gap: 48px; column-gap: 56px; margin-top: 57px; }
.nm-carte {
	position: relative; aspect-ratio: 1 / 1; min-height: 360px;
	padding: 38px 19px 80px 19px;
	background: rgba(6, 44, 73, .5); border: 2px solid #fff; border-radius: 24px;
	display: flex; flex-direction: column; align-items: flex-start;
	transition: border-color .2s, background .2s, transform .2s;
}
.nm-carte:hover { border-color: var(--nm-vert); background: rgba(6, 44, 73, .7); transform: translateY(-2px); }
.nm-carte__ico { display: block; width: 100px; height: 98px; object-fit: contain; margin-bottom: 24px; }
.nm-carte__titre { margin: 0; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-carte__desc { margin: 12px 0 0; font: 400 18px/26px 'Nunito', sans-serif; color: #fff; }
.nm-carte__lien {
	position: absolute; left: 20px; top: 296px;
	display: inline-flex; align-items: center; gap: 16px;
	font: 700 16px/32px 'Nunito', sans-serif; color: var(--nm-vert);
}
.nm-carte__lien::after { content: ''; width: 5px; height: 5px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.nm-carte__lien::before { content: ''; position: absolute; inset: -296px -999px -64px -20px; }
.nm-carte { overflow: hidden; }
.nm-carte__lien:hover { color: var(--nm-lime); }

.nm-mission { border-bottom: 1px solid #fff; }
.nm-mission__in {
	max-width: 1440px; margin: 0 auto; padding: 96px 107px 96px 121px;
	display: grid; grid-template-columns: minmax(0, 507px) minmax(0, 624px); justify-content: space-between; column-gap: 48px; align-items: start;
}
.nm-mission__p { margin: 25px 0 0; font: 600 22px/30px 'Nunito', sans-serif; color: #fff; }
.nm-citation { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.nm-citation__img { width: 128px; height: 128px; display: block; flex: 0 0 auto; }
.nm-citation__txt { margin: 0; font: 400 14px/24px 'Nunito', sans-serif; letter-spacing: .98px; text-transform: uppercase; color: #fff; }
.nm-citation__fort { font-weight: 700; }
.nm-mission__txt .nm-btn { margin-top: 48px; }
.nm-mission__img { display: block; width: 100%; height: auto; aspect-ratio: 624 / 525; object-fit: cover; object-position: 12% 50%; }

.nm-pourquoi { padding: 96px 0 64px; scroll-margin-top: 0; }
.nm-lead--pourquoi { margin-top: 32px; }
.nm-raisons { margin-top: 48px; }
.nm-raison { border-top: 1px solid rgba(255, 255, 255, .2); padding: 32px 192px 32px 204px; min-height: 202px; }
.nm-raison__titre { margin: 0; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-raison__txt { margin: 16px 0 0; max-width: 1044px; font: 400 22px/30px 'Nunito', sans-serif; color: #fff; }

/* ------------------------------------------------------------------ pied */
.nm-pied { color: #fff; background: #0a3352; }
.nm-pied__haut {
	border-top: 3px solid #98c93c;
	background:
		radial-gradient(ellipse 120% 160% at -22% 34%, rgba(17, 89, 146, 0) 58.5%, #115b95 100%),
		linear-gradient(180deg, #072136 0%, #0a3352 100%);
}
.nm-pied__grille {
	max-width: 1440px; margin: 0 auto; padding: 48px 0 33px 121px;
	display: grid; grid-template-columns: 347px 392px 1fr;
}
.nm-pied__col--services, .nm-pied__col--auto { border-left: 2px solid var(--nm-vert); padding: 5px 0 0 59px; min-height: 477px; }
.nm-pied__col--auto { padding-left: 54px; }
.nm-pied__logo { display: block; width: 180px; height: auto; margin-left: 0; }
.nm-pied__titre { margin: 0; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-pied__titre--suivez { margin-top: 24px; }
.nm-pied__titre--coord { margin-top: 24px; }
.nm-pied__petit { margin: 8px 0 0 3px; font: 400 14px/20px 'Nunito', sans-serif; color: #fff; display: block; }
.nm-pied__tel:hover { color: var(--nm-vert); }
.nm-sociaux--pied { gap: 27px; margin: 24px 0 0 3px; }
.nm-coord { display: flex; align-items: flex-start; gap: 8px; margin-top: 16px; padding-left: 3px; }
.nm-coord .nm-pied__petit { margin: 0; }
.nm-coord__ico { display: block; flex: 0 0 auto; width: 16px; height: 16px; object-fit: contain; margin-top: 3px; }
.nm-pied__liste { margin: 16px 0 0; padding: 0 0 0 22px; max-width: 280px; }
.nm-pied__liste--auto { max-width: 260px; }
.nm-pied__item { margin: 0 0 4px; font: 400 18px/32px 'Nunito', sans-serif; list-style: disc; }
.nm-pied__item::marker { font-size: 14px; }
.nm-pied__lien { color: #fff; }
.nm-pied__lien:hover { color: var(--nm-vert); }

.nm-infolettre { background: linear-gradient(90deg, #a2da36 0%, #115992 100%); }
.nm-infolettre__in { max-width: 1440px; margin: 0 auto; padding: 34px 222px 37px 223px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.nm-infolettre__titre { margin: 0; font: 700 24px/32px 'Nunito', sans-serif; color: #fff; }
.nm-infolettre__sous { margin: 0; font: 400 22px/30px 'Nunito', sans-serif; color: #fff; }

.nm-pied__bas {
	background: #fff; min-height: 72px; padding: 12px 24px;
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap; column-gap: 50px; row-gap: 8px;
}
.nm-pied__credit { margin: 0; font: 400 15px/26px 'Nunito', sans-serif; color: var(--nm-bleu); }
.nm-pied__credit-lien { font-weight: 700; color: #98c83c; }
.nm-pied__mention { margin: 0; font: 400 14px/20px 'Nunito', sans-serif; color: rgba(6, 44, 73, .75); }
a.nm-pied__mention:hover { color: var(--nm-bleu); }
.nm-anglais {
	display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; margin-left: -3px;
	border: 2px solid var(--nm-bleu); border-radius: 50px; font: 700 16px/24px 'Nunito', sans-serif; color: var(--nm-bleu);
}
.nm-anglais::after { content: ''; width: 6px; height: 6px; border: solid currentColor; border-width: 2.5px 2.5px 0 0; transform: rotate(45deg); }
.nm-anglais:hover { background: var(--nm-bleu); color: #fff; }

/* ------------------------------------------------------------------ 1119 px : entête compacte, menu mobile */
@media (max-width: 1119px) {
	:root { --nm-gouttiere: 48px; }
	.nm-entete { height: 80px; align-items: center; background-size: cover; }
	.nm-logo { width: auto; height: 80px; padding: 0 24px; }
	.nm-panneau {
		display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto;
		border-radius: 0 0 24px 24px; padding: 8px 0 24px;
	}
	.nm-entete.is-ouvert .nm-panneau { display: flex; }
	.nm-rangee { flex-direction: column; align-items: stretch; height: auto; background: none; }
	.nm-nav { flex-direction: column; align-items: stretch; height: auto; margin: 0; }
	.nm-nav__lien { height: 48px; padding: 0 24px; }
	.nm-nav__lien--auto { background: none; color: var(--nm-bleu-2); }
	.nm-sociaux--entete { margin: 8px 0 0; padding: 0 24px; height: 40px; }
	.nm-langue { padding: 8px 24px; }
	.nm-sep { display: none; }
	.nm-recherche { margin: 0; padding: 8px 24px; height: 40px; }
	.nm-cta-auto, .nm-cta-pro { width: auto; margin: 12px 24px 0; border-radius: 50px; }
	.nm-burger {
		display: flex; flex-direction: column; justify-content: center; gap: 6px;
		margin-left: auto; margin-right: 24px; width: 48px; height: 48px; padding: 12px; border: 0; border-radius: 12px;
		background: var(--nm-bleu); cursor: pointer;
	}
	.nm-burger span { display: block; height: 3px; border-radius: 2px; background: #fff; transition: transform .2s, opacity .2s; }
	.nm-entete.is-ouvert .nm-burger span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
	.nm-entete.is-ouvert .nm-burger span:nth-child(2) { opacity: 0; }
	.nm-entete.is-ouvert .nm-burger span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

	.nm-heros__in { grid-template-columns: minmax(0, 1fr) minmax(0, 428px); padding-top: 48px; }
	.nm-h1 { font-size: 40px; line-height: 48px; }
	.nm-h1 br { display: none; }
	.nm-heros__droite { padding-right: 0; }
	.nm-services__in { padding: 0 48px; }
	.nm-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; row-gap: 24px; }
	.nm-carte { aspect-ratio: auto; min-height: 380px; }
	.nm-carte__lien { top: auto; bottom: 24px; }
	.nm-carte__lien::before { inset: -999px -999px -24px -20px; }
	.nm-mission__in { padding: 96px 48px; }
	.nm-raison { padding: 32px 48px; }
	.nm-pied__grille { padding: 48px 48px 30px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); column-gap: 0; }
	.nm-pied__col--services, .nm-pied__col--auto { padding-left: 32px; }
	.nm-infolettre__in { padding: 34px 48px; }
}

/* ------------------------------------------------------------------ 1023 px : héros et mission en une colonne */
@media (max-width: 1023px) {
	.nm-heros__in { grid-template-columns: minmax(0, 1fr); row-gap: 56px; }
	.nm-heros__droite { max-width: 560px; width: 100%; margin: 0 auto; }
	.nm-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nm-mission__in { grid-template-columns: minmax(0, 1fr); row-gap: 48px; }
	.nm-pied__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 40px; }
	.nm-pied__col--marque { grid-column: 1 / -1; }
	.nm-pied__col--services { border-left: 0; padding-left: 0; min-height: 0; }
	.nm-pied__col--auto { min-height: 0; }
	.nm-infolettre__in { flex-direction: column; align-items: flex-start; }
}

/* ------------------------------------------------------------------ 767 px : téléphone */
@media (max-width: 767px) {
	:root { --nm-gouttiere: 20px; }
	.nm-h1 { font-size: 34px; line-height: 40px; }
	.nm-h2 { font-size: 34px; line-height: 40px; }
	.nm-surtitre { font-size: 15px; line-height: 24px; }
	.nm-heros__txt br, .nm-lead br, .nm-h1 br { display: none; }
	.nm-lead, .nm-mission__p, .nm-raison__txt { font-size: 18px; line-height: 27px; }
	.nm-partenaires { flex-wrap: wrap; gap: 20px 24px; }
	.nm-partenaire__img { width: 150px; }
	.nm-partenaire { width: 150px; }
	.nm-bienvenue { padding: 64px 0; }
	.nm-services { padding: 64px 0 56px; }
	.nm-services__in { padding: 0 20px; }
	.nm-grille { grid-template-columns: minmax(0, 1fr); margin-top: 32px; }
	.nm-carte { min-height: 0; padding: 28px 20px 72px; }
	.nm-carte__titre { font-size: 22px; line-height: 30px; }
	.nm-mission__in { padding: 64px 20px; }
	.nm-citation__img { width: 96px; height: 96px; }
	.nm-pourquoi { padding: 64px 0 40px; }
	.nm-raison { padding: 28px 20px; min-height: 0; }
	.nm-raison__titre { font-size: 20px; line-height: 28px; }
	.nm-pied__grille { padding: 40px 20px 24px; grid-template-columns: minmax(0, 1fr); }
	.nm-pied__col--auto { border-left: 0; padding-left: 0; }
	.nm-infolettre__in { padding: 32px 20px; }
	.nm-infolettre__titre { font-size: 20px; line-height: 28px; }
	.nm-infolettre__sous { font-size: 18px; line-height: 26px; }
	.nm-pied__bas { flex-direction: column; padding: 20px; text-align: center; }
}

@media (max-width: 479px) {
	.nm-form .wpcf7-form { grid-template-columns: minmax(0, 1fr); }
	.nm-btn { padding: 0 24px; }
	.nm-boutons .nm-btn { width: 100%; justify-content: center; }
	.nm-form .wpcf7-submit { width: 100%; padding: 0 48px 0 24px; }
}

@media (prefers-reduced-motion: reduce) {
	.nm-carte, .nm-btn, .nm-burger span { transition: none; }
	.nm-carte:hover { transform: none; }
}

/* ==================================================================== pages intérieures
   Cadres Figma : médias sociaux 32:57, site web 40:111, équipe 52:1314, études de cas 205:5961. */

/* ------------------------------------------------------------------ menu déroulant « Services » */
.nm-deroulant { position: relative; height: 100%; display: flex; }
.nm-sousmenu {
	position: absolute; top: 100%; left: 0; z-index: 60; min-width: 320px; padding: 12px 0;
	background: var(--nm-bleu); border-radius: 0 0 16px 16px; box-shadow: 0 12px 24px rgba(0, 0, 0, .35);
	display: flex; flex-direction: column; visibility: hidden; opacity: 0; transform: translateY(-4px); transition: opacity .15s, transform .15s, visibility .15s;
}
.nm-deroulant:hover .nm-sousmenu, .nm-deroulant:focus-within .nm-sousmenu { visibility: visible; opacity: 1; transform: none; }
.nm-sousmenu__lien { padding: 10px 24px; font: 400 15px/22px 'Nunito', sans-serif; color: #fff; }
.nm-sousmenu__lien:hover, .nm-sousmenu__lien:focus-visible { color: var(--nm-vert); background: rgba(255, 255, 255, .05); }

/* ------------------------------------------------------------------ typographie commune */
.nm-h2--black { font-weight: 900; letter-spacing: -.5px; }
.nm-h2--35 { font-size: 35px; line-height: 56px; letter-spacing: -.5px; }
.nm-h2--56 { font-size: 56px; line-height: 64px; }
.nm-h2__petit { font-size: 48px; line-height: 56px; }
.nm-h4 { margin: 0; font: 900 40px/48px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-h5 { margin: 0; font: 900 32px/40px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-p22 { margin: 16px 0 0; font: 400 22px/30px 'Nunito', sans-serif; color: #fff; }
.nm-p25 { margin: 0; font: 600 25px/34px 'Nunito', sans-serif; color: #fff; }
.nm-p25--leger { font-weight: 400; margin-top: 24px; }
.nm-p25 strong { font-weight: 700; }
.nm-lead p { margin: 0; }
.nm-lead p + p { margin-top: 30px; }
.nm-lead strong { font-weight: 700; }
.nm-lead--24 { font-size: 24px; line-height: 32px; max-width: 1040px; }
.nm-lead--24 p + p { margin-top: 32px; }
.nm-lead--20 { font-size: 22px; line-height: 32px; max-width: 860px; }
.nm-lead--20 p + p { margin-top: 32px; }
.nm-lead--serre { margin-top: 24px; font-size: 22px; line-height: 30px; }
.nm-vert-degrade { background: linear-gradient(92deg, #ccdc36, #98c83c); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nm-lien-vert { display: inline-flex; align-items: center; gap: 16px; margin-top: 32px; font: 700 24px/32px 'Nunito', sans-serif; color: var(--nm-vert); }
.nm-lien-vert::after { content: ''; width: 7px; height: 7px; border: solid currentColor; border-width: 3px 3px 0 0; transform: rotate(45deg); }
.nm-lien-vert:hover { color: var(--nm-lime); }
.nm-lien-btn { display: inline-flex; align-items: center; gap: 16px; font: 700 14px/24px 'Nunito', sans-serif; letter-spacing: .98px; text-transform: uppercase; color: #daed2e; }
.nm-lien-btn::after { content: ''; width: 7px; height: 7px; border: solid currentColor; border-width: 3px 3px 0 0; transform: rotate(45deg); }
.nm-lien-btn:hover { color: #fff; }
.nm-puces { margin: 0; padding: 0; list-style: none; }
.nm-puces li { position: relative; padding-left: 17px; }
.nm-puces li::before { content: '•'; position: absolute; left: 0; }
.nm-puces--24 li { font: 400 24px/32px 'Nunito', sans-serif; color: #fff; }
.nm-puces--22 li { font: 400 22px/30px 'Nunito', sans-serif; color: #fff; }
.nm-puces--22 li + li { margin-top: 16px; }
.nm-puces--18 li { font: 400 18px/26px 'Nunito', sans-serif; color: #fff; }
.nm-puces--18 li + li { margin-top: 8px; }

/* ------------------------------------------------------------------ en-tête de page (héros) */
.nm-phero {
	position: relative; overflow: hidden;
	background:
		radial-gradient(ellipse 760px 420px at 12% 108%, rgba(24, 132, 218, .75), rgba(24, 132, 218, 0) 70%),
		radial-gradient(ellipse 1100px 300px at 30% 100%, rgba(24, 132, 218, .35), rgba(24, 132, 218, 0) 75%),
		linear-gradient(180deg, #05253f 0, #0b3d66 100%);
}
.nm-phero__in { max-width: 1440px; margin: 0 auto; padding: 0 110px 0 var(--nm-gouttiere); display: grid; grid-template-columns: minmax(0, 1fr) 622px; column-gap: 40px; }
.nm-phero__txt { padding: 62px 0 56px; display: flex; flex-direction: column; align-items: flex-start; }
.nm-phero__h1 { margin-bottom: 32px; }
.nm-phero__txt .nm-btn--contour { margin-bottom: 32px; }
.nm-phero__vis { position: relative; height: 591px; overflow: hidden; }
.nm-cercle { position: absolute; left: 3px; top: 111px; width: 617px; height: 617px; border-radius: 50%; background: linear-gradient(90deg, #ccdc36, #98c83c); }
.nm-phero__img { position: absolute; left: -17px; top: -30px; width: 663px; height: 663px; max-width: none; object-fit: contain; }
.nm-phero__img--cas { left: -105px; top: 74px; width: 838px; height: auto; }
.nm-cercle--hero-cas { left: 31px; }
.nm-phero--cas .nm-phero__vis { overflow: visible; }
.nm-phero--equipe { background: radial-gradient(ellipse 620px 360px at 60% 115%, rgba(152, 200, 60, .55), rgba(152, 200, 60, 0) 70%), linear-gradient(180deg, #05253f 0, #0b3d66 100%); }
.nm-phero--equipe .nm-phero__in { grid-template-columns: minmax(0, 1fr) 776px; padding-right: 0; column-gap: 0; }
.nm-phero__equipe { position: absolute; left: 0; bottom: 0; width: 776px; height: 591px; max-width: none; object-fit: cover; object-position: left bottom; }
.nm-partenaires--page { margin-top: 0; }

/* carrousel d'avis Google */
.nm-avis-car { position: relative; width: 510px; max-width: 100%; height: 201px; }
.nm-avis-c {
	position: absolute; inset: 0; margin: 0; padding: 27px 28px 0; border-radius: 24px;
	background: rgba(255, 255, 255, .2); color: #fff;
	display: grid; grid-template-columns: 54px minmax(0, 1fr); column-gap: 16px; grid-template-rows: 54px auto auto; align-content: start;
	opacity: 0; visibility: hidden; transition: opacity .5s, visibility .5s;
}
.nm-avis-c.is-actif { opacity: 1; visibility: visible; }
.nm-avis-c__photo { grid-row: 1; width: 54px; height: 54px; border-radius: 50%; object-fit: cover; display: block; }
.nm-avis-c__photo--initiale { display: flex; align-items: center; justify-content: center; font: 400 30px/1 'Nunito', sans-serif; color: #fff; text-transform: uppercase; background: #98c83c; }
.nm-avis-c__photo--j { background: #3a9b6e; }
.nm-avis-c__photo--a { background: #5e3d0d; }
.nm-avis-c__qui { align-self: center; display: flex; flex-direction: column; padding-top: 2px; }
.nm-avis-c__nom { font: 400 16px/22px 'Nunito', sans-serif; }
.nm-avis-c__nb { font: 400 14px/20px 'Nunito', sans-serif; }
.nm-avis-c__note { grid-column: 1 / -1; margin: 6px 0 0; display: flex; align-items: center; gap: 8px; }
.nm-avis-c__etoiles { display: block; width: 71px; height: auto; }
.nm-avis-c__quand { font: 400 12px/20px 'Nunito', sans-serif; }
.nm-avis-c__txt { grid-column: 1 / -1; margin: 6px 0 0; font: 400 12px/20px 'Nunito', sans-serif; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nm-avis-car__points { position: absolute; left: 0; right: 0; bottom: -22px; display: flex; justify-content: center; gap: 8px; }
.nm-avis-car__point { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .35); cursor: pointer; }
.nm-avis-car__point.is-actif { background: var(--nm-vert); }

/* ------------------------------------------------------------------ sections */
.nm-sec { position: relative; padding: 96px 0; }
.nm-sec__btn { margin-top: 48px; }
.nm-sec--intro { padding: 96px 0 104px; }
.nm-sec--intro .nm-lead { margin-top: 32px; max-width: 1045px; }
.nm-sec--intro-web { padding-bottom: 96px; }
.nm-sec--sombre { background: #062a46; }
.nm-sec--sombre .nm-lead { margin-top: 16px; }
.nm-sec--lueur-g { background: radial-gradient(ellipse 820px 360px at 8% 100%, rgba(152, 200, 60, .85), rgba(152, 200, 60, 0) 70%), #062a46; }
.nm-sec--bleu { background: #115992; }
.nm-sec--bleu .nm-lead { margin-top: 32px; }

/* médias : anecdote */
.nm-sec--anecdote .nm-lead { margin-top: 16px; }
.nm-anecdote {
	position: relative; max-width: 1199px; margin: 96px auto 0; min-height: 494px; padding: 120px 75px 60px 519px;
	border: 2px solid #fff; border-radius: 24px; background: linear-gradient(231deg, rgba(5, 27, 44, .5) 33%, rgba(24, 132, 218, .5) 100%);
}
/* Téléphone TikTok animé en code : coque fixe + fil qui défile (3 écrans, le 1er répété pour boucler sans saut).
   La boîte s'arrête au bas de la carte, comme dans la maquette où le téléphone est coupé par la carte. */
.nm-tel { position: absolute; left: 109px; top: -51px; bottom: 2px; width: 337px; overflow: hidden; }
.nm-tel__corps { position: relative; z-index: 2; display: block; width: 100%; height: auto; max-width: none; pointer-events: none; filter: drop-shadow(16px 4px 8px rgba(0, 0, 0, .33)); }
/* fenêtre de l'écran, mesurée sur la coque : x 40, y 250, 865 x 1410 sur 941 x 1946 */
.nm-tel__coque { position: relative; }
.nm-tel__ecran { position: absolute; z-index: 3; left: 4.251%; width: 91.923%; top: 12.847%; height: 72.456%; overflow: hidden; background: #000; }
.nm-tel__piste { display: flex; flex-direction: column; animation: nm-fil 12s cubic-bezier(.65, 0, .35, 1) infinite; will-change: transform; }
.nm-tel__img { display: block; width: 100%; height: auto; flex: 0 0 auto; }
@keyframes nm-fil {
	0%, 22% { transform: translateY(0); }
	30%, 55% { transform: translateY(-25%); }
	63%, 88% { transform: translateY(-50%); }
	96%, 100% { transform: translateY(-75%); }
}

/* Visuels des héros : flottement et légère bascule, en boucle douce (transform seulement = fluide à 60 i/s). */
.nm-flotte { position: absolute; inset: 0; will-change: transform; }
.nm-flotte--tels { animation: nm-flotte-tels 7s ease-in-out infinite; transform-origin: 50% 60%; }
.nm-flotte--portable { animation: nm-flotte-portable 8s ease-in-out infinite; transform-origin: 50% 55%; }
@keyframes nm-flotte-tels {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
	50% { transform: translate3d(0, -18px, 0) rotate(-2.5deg); }
}
@keyframes nm-flotte-portable {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
	50% { transform: translate3d(0, -16px, 0) rotate(2deg) scale(1.015); }
}
.nm-anecdote__txt .nm-lien-vert { margin-top: 30px; }
/* médias : Facebook */
.nm-sec--facebook { padding: 97px 0 99px; background: radial-gradient(ellipse 900px 520px at 22% 40%, rgba(24, 132, 218, .55), rgba(24, 132, 218, 0) 70%), linear-gradient(110deg, #0a3354 0%, #0d4a7a 55%, #072a47 100%); }
.nm-facebook { max-width: 1440px; margin: 0 auto; padding: 0 236px 0 222px; display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.nm-facebook__txt { max-width: 530px; }
.nm-facebook__txt .nm-lien-vert { margin-top: 26px; }
.nm-facebook__robot { width: 272px; height: 272px; flex: 0 0 auto; }
.nm-ctrlcv { display: block; width: 530px; max-width: 100%; height: auto; margin: 32px auto 0; }
/* médias : forfaits */
.nm-sec--forfaits { background: radial-gradient(ellipse 900px 600px at 65% 75%, rgba(24, 132, 218, .45), rgba(24, 132, 218, 0) 70%), linear-gradient(180deg, #0a3354 0%, #0d4a7a 100%); }
.nm-plans { max-width: 1201px; margin: 48px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; }
.nm-plan { position: relative; min-height: 750px; padding: 38px 25px 90px; background: rgba(6, 44, 73, .5); border: 2px solid #fff; border-radius: 24px; color: #fff; }
.nm-plan__plan { margin: 0; font: 900 32px/40px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-plan__no { display: block; width: 100px; height: 98px; margin-top: 8px; }
.nm-plan__titre { margin: 8px 0 0; font: 900 32px/40px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-plan__sous { margin: 0; font: 400 18px/26px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-plan__corps { margin-top: 24px; font: 400 18px/26px 'Nunito', sans-serif; }
.nm-plan__corps p { margin: 0; }
.nm-plan__corps ul { margin: 26px 0; padding: 0; list-style: none; }
.nm-plan__corps li { position: relative; padding-left: 14px; }
.nm-plan__corps li::before { content: '•'; position: absolute; left: 0; }
.nm-plan .nm-lien-btn { position: absolute; left: 25px; bottom: 37px; }
/* médias : spécialisation */
.nm-sec--specialisation { background: #0b3a63; }
.nm-sec--specialisation .nm-lead { margin-top: 32px; }
.nm-spec { max-width: 1178px; margin: 54px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.nm-spec__img { display: block; width: 100%; height: auto; border-radius: 24px; }
/* FAQ */
.nm-faq-sec { background: #062239; padding: 96px 0 0; }
.nm-faq-sous { margin: 24px 0 0; font: 900 32px/40px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-faq { margin-top: 48px; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.nm-faq__item { border-top: 1px solid rgba(255, 255, 255, .2); }
.nm-faq__q {
	position: relative; display: flex; gap: 8px; list-style: none; cursor: pointer;
	max-width: 1440px; margin: 0 auto; padding: 32px 160px 30px 198px; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: #fff;
}
.nm-faq__q::-webkit-details-marker { display: none; }
.nm-faq__q::after {
	content: ''; position: absolute; right: 126px; top: 38px; width: 14px; height: 14px;
	border: solid #fff; border-width: 0 5px 5px 0; transform: rotate(45deg); transition: transform .2s, top .2s;
}
.nm-faq__item[open] > .nm-faq__q { padding-bottom: 0; }
.nm-faq__item[open] > .nm-faq__q::after { transform: rotate(-135deg); top: 46px; }
.nm-faq__q:hover { color: var(--nm-vert); }
.nm-faq__q:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.nm-faq__r { max-width: 1440px; margin: 0 auto; padding: 16px 160px 24px 198px; font: 400 22px/30px 'Nunito', sans-serif; color: #fff; }
.nm-faq__r p { margin: 0; }
.nm-sec--pret { background: #062239; padding: 96px 0; }
.nm-sec--pret .nm-lead { margin-top: 8px; max-width: 1040px; }
/* section formulaire « Tu as un projet » */
.nm-contact {
	position: relative; overflow: hidden; scroll-margin-top: 0;
	background:
		linear-gradient(135deg, rgba(152, 200, 60, .95) 0%, rgba(152, 200, 60, 0) 32%),
		linear-gradient(315deg, rgba(152, 200, 60, .95) 0%, rgba(152, 200, 60, 0) 30%),
		#062a46;
}
.nm-contact__in { max-width: 1440px; margin: 0 auto; min-height: 888px; display: grid; grid-template-columns: 606px minmax(0, 690px); column-gap: 24px; align-items: start; padding-right: 120px; }
.nm-contact__photo { align-self: end; display: block; width: 606px; height: 887px; object-fit: cover; object-position: top center; }
.nm-contact__form { padding: 96px 0 80px; }
.nm-contact__titre { margin: 0 0 16px; font: 900 40px/48px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-form--section .wpcf7-form { grid-template-columns: minmax(0, 1fr); }
.nm-form--section input[type=text], .nm-form--section input[type=email], .nm-form--section input[type=tel], .nm-form--section select, .nm-form--section textarea {
	height: 48px; padding: 8px 23px; font-size: 22px; line-height: 30px; border-color: rgba(238, 240, 243, .5); background-color: rgba(238, 240, 243, .05);
}
.nm-form--section select { border-color: var(--nm-vert); background-color: transparent; padding-left: 23px; }
.nm-form--section textarea { height: 178px; padding-top: 16px; }
.nm-form--section .nm-f__lab { margin: 0 0 8px; font-size: 22px; line-height: 30px; }
.nm-form--section .wpcf7-submit { padding: 0 32px; background-image: var(--nm-grad-btn); background-position: 0 0; background-size: 100% 100%; }
.nm-form--section .wpcf7-submit:hover { background-image: var(--nm-grad-btn-hover); }
.nm-form--section .nm-f--envoi { margin-top: 8px; }

/* web */
.nm-sec--tonsite { padding: 96px 0 98px; }
.nm-tonsite { margin: 16px 0 0; font: 400 22px/30px 'Nunito', sans-serif; color: #fff; }
.nm-tonsite__sep { margin: 0 8px; }
.nm-sec--tonsite .nm-lead--20 { margin-top: 30px; font-size: 22px; line-height: 30px; max-width: 900px; }
.nm-fait {
	max-width: 1199px; margin: 64px auto 0; min-height: 265px; padding: 68px 93px 40px 77px;
	display: flex; align-items: flex-start; justify-content: space-between; gap: 40px;
	border: 2px solid #fff; border-radius: 24px; background: linear-gradient(214deg, rgba(8, 36, 59, .5) 25%, rgba(24, 132, 218, .5) 100%);
}
.nm-fait__txt { max-width: 637px; }
.nm-fait__txt .nm-p22 { margin-top: 0; }
.nm-fait__robot { width: 212px; height: 212px; margin: -41px 0 -40px; flex: 0 0 auto; }
.nm-sec--conception { padding: 96px 0 0; background: radial-gradient(ellipse 900px 400px at 30% 20%, rgba(24, 132, 218, .55), rgba(24, 132, 218, 0) 70%), linear-gradient(180deg, #0a3354 0%, #0d4a7a 100%); min-height: 472px; }
.nm-sous-titre { margin: 24px 0 0; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-lead--sous { margin-top: 16px; }
.nm-concret { background: radial-gradient(ellipse 760px 300px at 92% 100%, rgba(152, 200, 60, .9), rgba(152, 200, 60, 0) 70%), #062a46; }
.nm-concret__in { max-width: 1440px; margin: 0 auto; min-height: 494px; padding: 0 120px; display: grid; grid-template-columns: 616px minmax(0, 1fr); column-gap: 24px; align-items: center; }
.nm-concret__vis { position: relative; height: 549px; margin-top: -31px; margin-bottom: -24px; overflow: hidden; }
.nm-concret__img { position: absolute; left: -23.53%; top: -10.02%; width: 147.06%; height: auto; max-width: none; }
.nm-concret__txt .nm-puces { margin-top: 6px; }
.nm-sec--forfaits-web { background: radial-gradient(ellipse 800px 500px at 50% 80%, rgba(24, 132, 218, .55), rgba(24, 132, 218, 0) 70%), linear-gradient(180deg, #0b3a63 0%, #0d4a7a 70%, #072a47 100%); }
.nm-forfaits { max-width: 1044px; margin: 64px auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 76px; }
.nm-forfait { position: relative; min-height: 750px; padding: 75px 43px 100px; background: rgba(6, 44, 73, .5); border: 2px solid #fff; border-radius: 24px; color: #fff; }
.nm-forfait__ico { display: block; width: 189px; height: 136px; margin: 0 auto; object-fit: contain; }
.nm-forfait__titre { margin: 48px 0 24px; font: 900 32px/40px 'Nunito', sans-serif; text-transform: uppercase; color: var(--nm-vert); }
.nm-forfait__corps { font: 400 18px/26px 'Nunito', sans-serif; }
.nm-forfait__corps p { margin: 0; }
.nm-forfait__corps p + p { margin-top: 26px; }
.nm-forfait__corps strong { font-weight: 700; }
.nm-forfait__corps ul { margin: 0; padding: 0; list-style: none; }
.nm-forfait__corps li { position: relative; padding-left: 14px; }
.nm-forfait__corps li::before { content: '•'; position: absolute; left: 0; }
.nm-forfait .nm-lien-btn { position: absolute; left: 43px; bottom: 75px; }
.nm-sec--etapes { background: radial-gradient(ellipse 900px 500px at 30% 20%, rgba(24, 132, 218, .45), rgba(24, 132, 218, 0) 70%), linear-gradient(180deg, #0a3354 0%, #0b3a63 100%); border-bottom: 1px solid #fff; }
.nm-etapes { max-width: 1176px; margin: 77px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 48px; }
.nm-etape { flex: 0 0 360px; min-height: 291px; padding: 50px 12px 30px; text-align: center; background: rgba(6, 44, 73, .5); border: 2px solid #fff; border-radius: 24px; color: #fff; }
.nm-etape__no { margin: 0; font: 900 88px/72px 'Nunito', sans-serif; letter-spacing: -1px; color: var(--nm-vert); }
.nm-etape__titre { margin: 24px 0 12px; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; white-space: nowrap; letter-spacing: -.2px; }
.nm-etape__txt { margin: 0; font: 400 18px/26px 'Nunito', sans-serif; }
.nm-sec--pilule { background: linear-gradient(180deg, #0a3354 0%, #072a47 100%); }
.nm-sec--pilule .nm-lead { margin-top: 32px; }
.nm-pilule { display: inline-flex; align-items: center; gap: 16px; margin-top: 32px; text-align: left; }
.nm-pilule__img { width: 93px; height: 128px; }
.nm-pilule__txt { font: 900 32px/40px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-pilule:hover .nm-pilule__img { transform: rotate(-8deg); }
.nm-pilule__img { transition: transform .2s; }
.nm-sec--wp { padding: 96px 0 104px; }
.nm-wp { max-width: 1440px; margin: 0 auto; padding: 0 236px; color: #fff; }
.nm-wp__titre { text-align: center; }
.nm-wp__intro { margin: 16px 0 0; text-align: center; font: 400 22px/30px 'Nunito', sans-serif; }
.nm-wp__sous { margin-top: 40px; }
.nm-wp .nm-puces { margin-top: 8px; }
.nm-wp__fin { margin: 0; font: 400 24px/32px 'Nunito', sans-serif; }

/* équipe */
.nm-sec--equipe { padding: 96px 0 79px; }
.nm-titres { margin: 24px 0 0; font: 900 40px/48px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-lead--equipe { margin-top: 16px; max-width: 1060px; font-size: 22px; line-height: 30px; }
.nm-equipe { max-width: 1184px; margin: 80px auto 0; padding: 0 0 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; row-gap: 30px; }
.nm-membre { display: flex; flex-direction: column; align-items: center; text-align: center; color: #fff; min-height: 545px; }
.nm-membre__photo { display: block; width: 100%; height: auto; aspect-ratio: 278 / 408; object-fit: cover; }
.nm-membre__nom { margin: 16px 0 0; font: 800 18px/25px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-membre__role { margin: 4px 0 0; min-height: 40px; font: 400 14px/20px 'Nunito', sans-serif; }
.nm-membre__lien {
	margin-top: 8px; display: inline-flex; align-items: center; gap: 16px; padding: 0; border: 0; background: none; cursor: pointer;
	font: 700 16px/32px 'Nunito', sans-serif; color: var(--nm-vert);
}
.nm-membre__lien::after { content: ''; width: 5px; height: 5px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.nm-membre__lien:hover { color: var(--nm-lime); }
.nm-bio { width: min(920px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 2px solid #fff; border-radius: 24px; background: #062a46; color: #fff; }
.nm-bio::backdrop { background: rgba(3, 18, 30, .75); }
.nm-bio__in { position: relative; display: grid; grid-template-columns: 278px minmax(0, 1fr); gap: 32px; padding: 32px; }
.nm-bio__photo { width: 278px; height: auto; border-radius: 16px; }
.nm-bio__nom { margin: 0; font: 900 32px/40px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-bio__role { margin: 4px 0 16px; font: 700 16px/24px 'Nunito', sans-serif; color: var(--nm-vert); }
.nm-bio__txt p:not(.nm-bio__role) { margin: 0 0 12px; font: 400 17px/26px 'Nunito', sans-serif; }
.nm-bio__fermer { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font: 400 28px/1 'Nunito', sans-serif; cursor: pointer; }
.nm-bio__fermer:hover { background: var(--nm-vert); color: var(--nm-bleu); }
.nm-groupe { padding: 96px 0 83px; background: linear-gradient(149deg, #04223a 0.6%, #115992 40%, #0a3352 94%); }
.nm-citation--centre { justify-content: center; margin-top: 70px; }

/* études de cas */
.nm-sec--intro-cas { padding-bottom: 82px; }
.nm-cas { background: linear-gradient(180deg, #0d4a7a 0%, #0b3a63 100%); overflow-x: clip; }
.nm-cas__in { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 912px minmax(0, 396px); column-gap: 24px; padding-right: 108px; }
.nm-cas__tete { position: relative; min-height: 515px; color: #fff; }
.nm-cas__fond { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nm-cas__tete::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 74, 122, .82) 0%, rgba(13, 74, 122, .55) 45%, rgba(13, 74, 122, .2) 100%); }
.nm-cas__tete-txt { position: relative; z-index: 1; padding: 46px 120px 0; }
.nm-cas__titre { margin: 0; font: 400 48px/56px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-cas__tags { margin: 8px 0 0; font: 400 18px/32px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-cas__defis { position: relative; padding: 96px 78px 0 120px; min-height: 924px; background: linear-gradient(180deg, #062a46 0%, #082f50 100%); }
.nm-cas__defis .nm-puces { max-width: 640px; }
.nm-cas__sous { margin: 24px 0 24px; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-cas__sous--centre { margin: 8px 0 0; }
.nm-cas__mockup { position: relative; height: 430px; margin: 40px 0 0 3px; overflow: visible; }
.nm-cas__mockup::before { content: ''; position: absolute; inset: 0; overflow: hidden; }
.nm-cercle--cas { left: 7px; top: 0; width: 655px; height: 655px; clip-path: inset(0 0 225px 0); }
.nm-cas__mockup-img { position: absolute; z-index: 2; left: 100px; top: 16px; width: 583px; height: auto; max-width: none; filter: drop-shadow(16px 4px 8px rgba(0, 0, 0, .33)); }
.nm-cas__cote { padding-top: 0; color: #fff; }
.nm-filtres { display: block; margin: 0; }
.nm-filtres__select {
	width: 100%; height: 58px; padding: 8px 56px 8px 26px; border: 0; border-radius: 0; cursor: pointer; -webkit-appearance: none; appearance: none;
	font: 400 20px/28px 'Nunito', sans-serif; color: #fff; background: rgba(255, 255, 255, .3)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1.5 1.5l6.5 6.5 6.5-6.5' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") no-repeat right 26px center;
}
.nm-filtres__select option { color: var(--nm-bleu); }
.nm-cote__titre { margin: 32px 0 24px; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-cote__titre--blogue { margin-top: 64px; }
.nm-autres { display: flex; flex-direction: column; gap: 24px; }
.nm-autre { display: flex; flex-direction: column; padding: 16px; border-left: 4px solid var(--nm-lime); background: rgba(255, 255, 255, .2); color: #fff; }
.nm-autre__type { font: 400 12px/20px 'Nunito', sans-serif; }
.nm-autre__titre { font: 900 16px/24px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-autre__lien { display: inline-flex; align-items: center; gap: 16px; font: 700 16px/32px 'Nunito', sans-serif; color: var(--nm-vert); }
.nm-autre__lien::after { content: ''; width: 5px; height: 5px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.nm-autre:hover { background: rgba(255, 255, 255, .28); }
.nm-billets { display: flex; flex-direction: column; gap: 24px; padding-bottom: 24px; }
.nm-billet { display: grid; grid-template-columns: 142px minmax(0, 1fr); column-gap: 15px; align-items: center; border-bottom: 1px solid #fff; color: #fff; }
.nm-billet__img { display: block; width: 142px; height: 109px; object-fit: cover; }
.nm-billet__titre { font: 900 18px/26px 'Nunito', sans-serif; text-transform: uppercase; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nm-billet:hover .nm-billet__titre { color: var(--nm-vert); }
.nm-sec--objectif { padding: 96px 0 108px; border-bottom: 1px solid #fff; background: linear-gradient(180deg, #0b3a63 0%, #0a3354 100%); }
.nm-lead--objectif { margin-top: 8px; max-width: 900px; }
.nm-sec--strategie { background: #072a47; border-bottom: 1px solid #fff; }
.nm-ampoule { display: flex; align-items: center; justify-content: center; width: 146px; height: 146px; margin: 0 auto 16px; border-radius: 50%; background: linear-gradient(to top, #ccdc36 53%, #98c83c 100%); }
.nm-ampoule__img { display: block; width: 64px; height: 99px; margin: 0 0 4px 3px; }
.nm-sec--strategie .nm-lead { margin-top: 16px; }
.nm-strats { max-width: 984px; margin: 64px auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 62px; }
.nm-strat { min-height: 515px; padding: 36px 36px 40px 48px; background: rgba(6, 44, 73, .5); border: 2px solid #fff; border-radius: 24px; color: #fff; text-align: center; }
.nm-strat__no { margin: 0; font: 900 88px/72px 'Nunito', sans-serif; letter-spacing: -1px; color: var(--nm-vert); }
.nm-strat__titre { margin: 16px 0 16px; font: 600 24px/32px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-strat .nm-puces { text-align: left; }
.nm-sec--collab { background: linear-gradient(180deg, #072a47 0%, #062239 100%); }
.nm-sec--collab .nm-lead { margin-top: 16px; }
.nm-resultats { position: relative; overflow: hidden; background: linear-gradient(110deg, #062a46 0%, #0d4a7a 70%, #115992 100%); }
.nm-resultats__in { max-width: 1440px; margin: 0 auto; min-height: 657px; display: grid; grid-template-columns: 605px minmax(0, 674px); column-gap: 40px; align-items: center; }
.nm-resultats__tel { display: block; width: 605px; height: 657px; object-fit: cover; object-position: left top; align-self: end; }
.nm-resultats__txt { padding: 40px 0; color: #fff; }
.nm-resultats__txt .nm-p22:first-of-type { margin-top: 16px; }
.nm-res { margin: 16px 0 0; padding: 0; list-style: none; }
.nm-res li { position: relative; padding-left: 17px; font: 400 22px/30px 'Nunito', sans-serif; }
.nm-res li::before { content: '•'; position: absolute; left: 0; }
.nm-res li + li { margin-top: 16px; }
.nm-res__note { display: block; padding-left: 0; }

/* ------------------------------------------------------------------ pages intérieures : 1119 px */
@media (max-width: 1119px) {
	.nm-deroulant { height: auto; flex-direction: column; }
	.nm-sousmenu { position: static; visibility: visible; opacity: 1; transform: none; box-shadow: none; padding: 0 0 8px 16px; background: none; min-width: 0; }
	.nm-sousmenu__lien { padding: 8px 24px; font-size: 14px; }
	.nm-phero__in { grid-template-columns: minmax(0, 1fr) minmax(0, 46%); padding-right: 0; column-gap: 24px; }
	.nm-phero__vis { height: 520px; }
	.nm-phero__img { left: -12px; top: -24px; width: 110%; height: auto; }
	.nm-cercle { left: 0; top: 96px; width: 100%; height: auto; aspect-ratio: 1; }
	.nm-phero--equipe .nm-phero__in { grid-template-columns: minmax(0, 1fr) minmax(0, 52%); }
	.nm-phero__equipe { width: 100%; height: 100%; }
	.nm-phero__img--cas { width: 135%; height: auto; left: -17%; top: 12%; }
	.nm-anecdote { padding: 64px 48px 48px 47%; margin-top: 120px; }
	.nm-tel { left: 6%; width: 30%; top: -40px; }
	.nm-facebook { padding: 0 48px; }
	.nm-plans { padding: 0 32px; gap: 24px; }
	.nm-spec { padding: 0 32px; }
	.nm-faq__q, .nm-faq__r { padding-left: 48px; padding-right: 96px; }
	.nm-faq__q::after { right: 48px; }
	.nm-contact__in { grid-template-columns: 42% minmax(0, 1fr); padding-right: 48px; }
	.nm-contact__photo { width: 100%; height: auto; }
	.nm-fait { margin: 64px 48px 0; padding: 48px; }
	.nm-concret__in { padding: 0 48px; grid-template-columns: 50% minmax(0, 1fr); }
	.nm-forfaits { padding: 0 32px; gap: 32px; }
	.nm-forfait { padding: 56px 32px 96px; }
	.nm-forfait .nm-lien-btn { left: 32px; bottom: 48px; }
	.nm-etapes { padding: 0 32px; gap: 24px; }
	.nm-etape { flex-basis: calc(33.333% - 16px); }
	.nm-etape__titre { white-space: normal; }
	.nm-wp { padding: 0 48px; }
	.nm-equipe { padding: 0 48px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nm-cas__in { grid-template-columns: minmax(0, 1fr); padding: 0; }
	.nm-cas__cote { padding: 32px 48px 48px; }
	.nm-cas__tete-txt { padding: 46px 48px 0; }
	.nm-cas__defis { padding: 64px 48px 0; min-height: 0; }
	.nm-strats { padding: 0 32px; gap: 24px; }
	.nm-resultats__in { grid-template-columns: 45% minmax(0, 1fr); padding-right: 48px; }
	.nm-resultats__tel { width: 100%; height: auto; }
}

/* ------------------------------------------------------------------ pages intérieures : 1023 px */
@media (max-width: 1023px) {
	.nm-phero__in, .nm-phero--equipe .nm-phero__in { grid-template-columns: minmax(0, 1fr); }
	.nm-phero__txt { padding-bottom: 32px; }
	.nm-phero__vis { height: auto; aspect-ratio: 622 / 591; max-width: 560px; width: 100%; margin: 0 auto; }
	.nm-phero--equipe .nm-phero__vis { max-width: 680px; aspect-ratio: 776 / 591; }
	.nm-anecdote { padding: 48px 32px; margin: 48px 32px 0; display: flex; flex-direction: column; align-items: center; text-align: left; }
	.nm-tel { position: relative; left: auto; top: auto; bottom: auto; width: min(260px, 70%); height: 380px; margin: 0 auto 32px; }
	.nm-facebook { flex-direction: column-reverse; text-align: left; }
	.nm-facebook__robot { width: 200px; height: 200px; }
	.nm-plans { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
	.nm-plan { min-height: 0; }
	.nm-spec { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.nm-contact__in { grid-template-columns: minmax(0, 1fr); padding: 0 32px; }
	.nm-contact__photo { order: 2; width: min(360px, 70%); margin: 0 auto; }
	.nm-contact__form { padding: 72px 0 32px; }
	.nm-fait { flex-direction: column-reverse; align-items: center; }
	.nm-fait__robot { margin: 0; width: 160px; height: 160px; }
	.nm-concret__in { grid-template-columns: minmax(0, 1fr); padding: 48px 32px; }
	.nm-concret__vis { margin: 0; height: auto; aspect-ratio: 616 / 549; }
	.nm-forfaits { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
	.nm-forfait { min-height: 0; }
	.nm-etape { flex-basis: calc(50% - 12px); }
	.nm-equipe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nm-bio__in { grid-template-columns: minmax(0, 1fr); }
	.nm-bio__photo { width: 180px; }
	.nm-strats { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
	.nm-strat { min-height: 0; }
	.nm-resultats__in { grid-template-columns: minmax(0, 1fr); padding: 48px 32px 0; }
	.nm-resultats__txt { order: -1; padding: 0 0 32px; }
	.nm-resultats__tel { width: min(420px, 100%); margin: 0 auto; }
}

/* ------------------------------------------------------------------ pages intérieures : 767 px */
@media (max-width: 767px) {
	.nm-h2--56 { font-size: 36px; line-height: 42px; }
	.nm-h2__petit { font-size: 30px; line-height: 36px; }
	.nm-h2--35 { font-size: 28px; line-height: 36px; }
	.nm-h4 { font-size: 28px; line-height: 34px; }
	.nm-h5, .nm-plan__plan, .nm-plan__titre, .nm-forfait__titre, .nm-pilule__txt { font-size: 24px; line-height: 30px; }
	.nm-titres, .nm-faq-sous { font-size: 22px; line-height: 28px; }
	.nm-p22, .nm-res li, .nm-puces--22 li, .nm-puces--24 li, .nm-wp__fin, .nm-faq__r { font-size: 18px; line-height: 27px; }
	.nm-p25 { font-size: 20px; line-height: 28px; }
	.nm-lead--24 { font-size: 19px; line-height: 28px; }
	.nm-lien-vert { font-size: 19px; }
	.nm-tonsite { font-size: 17px; line-height: 26px; }
	.nm-tonsite__sep { display: block; height: 0; overflow: hidden; }
	.nm-lead br, .nm-h2 br, .nm-p25 br, .nm-contact__titre br, .nm-cas__titre br, .nm-phero__h1 br { display: none; }
	.nm-sec { padding: 64px 0; }
	.nm-phero__txt { padding-top: 40px; }
	.nm-avis-car { height: 210px; }
	.nm-avis-c { padding: 20px 20px 0; }
	.nm-anecdote { margin: 32px 20px 0; padding: 32px 20px; }
	.nm-facebook { padding: 0 20px; }
	.nm-plans, .nm-forfaits, .nm-strats, .nm-spec, .nm-etapes { padding: 0 20px; }
	.nm-spec { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
	.nm-etape { flex-basis: 100%; }
	.nm-plan { padding: 32px 20px 80px; }
	.nm-plan .nm-lien-btn { left: 20px; }
	.nm-faq__q { padding: 24px 56px 22px 20px; font-size: 17px; line-height: 24px; }
	.nm-faq__q::after { right: 22px; top: 30px; }
	.nm-faq__item[open] > .nm-faq__q::after { top: 34px; }
	.nm-faq__r { padding: 12px 20px 22px; }
	.nm-contact__in { padding: 0 20px; }
	.nm-contact__titre { font-size: 28px; line-height: 34px; }
	.nm-form--section input[type=text], .nm-form--section input[type=email], .nm-form--section input[type=tel], .nm-form--section select, .nm-form--section textarea, .nm-form--section .nm-f__lab { font-size: 17px; }
	.nm-fait { margin: 40px 20px 0; padding: 32px 20px; }
	.nm-concret__in { padding: 40px 20px; }
	.nm-wp { padding: 0 20px; }
	.nm-equipe { padding: 0 20px; column-gap: 16px; margin-top: 48px; }
	.nm-membre { min-height: 0; }
	.nm-membre__nom { font-size: 16px; }
	.nm-membre__role { font-size: 13px; line-height: 18px; }
	.nm-bio__in { padding: 24px 20px; }
	.nm-bio__nom { font-size: 24px; line-height: 30px; padding-right: 40px; }
	.nm-cas__titre { font-size: 30px; line-height: 36px; }
	.nm-cas__tete-txt { padding: 32px 20px 0; }
	.nm-cas__defis { padding: 48px 20px 0; }
	.nm-cas__cote { padding: 24px 20px 40px; }
	.nm-cas__mockup { height: 300px; }
	.nm-cercle--cas { width: 460px; height: 460px; clip-path: inset(0 0 160px 0); }
	.nm-cas__mockup-img { left: 40px; top: 10px; width: 400px; }
	.nm-cas__sous { font-size: 19px; line-height: 26px; }
	.nm-strat { padding: 32px 20px; }
	.nm-strat__no, .nm-etape__no { font-size: 64px; line-height: 56px; }
	.nm-resultats__in { padding: 40px 20px 0; }
	.nm-citation--centre { margin-top: 40px; }
}

@media (max-width: 479px) {
	.nm-equipe { column-gap: 12px; padding: 0 16px; }
	.nm-membre__role { font-size: 12px; }
	.nm-membre__lien { font-size: 14px; gap: 10px; }
	.nm-phero__txt .nm-btn--contour { width: 100%; justify-content: center; white-space: normal; text-align: center; height: auto; min-height: 56px; padding: 12px 24px; }
}

@media (prefers-reduced-motion: reduce) {
	.nm-avis-c, .nm-sousmenu, .nm-pilule__img { transition: none; }
	.nm-tel__piste, .nm-flotte { animation: none; }
}

/* ==================================================================== pages hors maquette (pages2.py)
   Mêmes jetons et mêmes gabarits que les pages Figma : cartes à bord blanc 24 px, fond bleu 50 %,
   titres Nunito Black en capitales, vert #98c93c. */

.nm-phero__img--contenu { left: 0; top: 40px; width: 622px; height: 551px; object-fit: contain; object-position: center bottom; }
.nm-phero__img--large { left: -40px; top: 120px; width: 702px; height: 460px; object-fit: contain; }
.nm-h2--gauche { text-align: left; }
.nm-lead--gauche { margin-top: 24px; max-width: none; text-align: left; }
.nm-lead--gauche p + p { margin-top: 16px; }

/* fiches */
.nm-sec--cartes .nm-centre + .nm-cartes { margin-top: 56px; }
.nm-cartes { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: grid; gap: 32px; }
.nm-cartes--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1044px; }
.nm-cartes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nm-ct { padding: 40px 36px; background: rgba(6, 44, 73, .5); border: 2px solid #fff; border-radius: 24px; color: #fff; transition: border-color .2s, transform .2s; }
.nm-ct:hover { border-color: var(--nm-vert); transform: translateY(-2px); }
.nm-ct__no { margin: 0 0 8px; font: 900 64px/56px 'Nunito', sans-serif; letter-spacing: -1px; color: var(--nm-vert); }
.nm-ct__titre { margin: 0 0 12px; font: 900 24px/32px 'Nunito', sans-serif; text-transform: uppercase; color: var(--nm-vert); }
.nm-cartes--etapes { display: flex; flex-wrap: wrap; justify-content: center; }
.nm-cartes--etapes .nm-ct { text-align: center; flex: 0 1 calc((100% - 64px) / 3); }
.nm-cartes--etapes .nm-ct__titre { color: #fff; }
.nm-ct__txt { font: 400 18px/27px 'Nunito', sans-serif; }
.nm-ct__txt p { margin: 0; }
.nm-ct__txt p + p, .nm-ct__txt p + ul, .nm-ct__txt ul + p { margin-top: 14px; }
.nm-ct__txt strong { font-weight: 700; }
.nm-cartes--split { padding: 0; margin-top: 32px; gap: 20px; }
.nm-cartes--split .nm-ct { padding: 28px 24px; }
.nm-cartes--split .nm-ct__titre { font-size: 20px; line-height: 26px; }

/* image + texte */
.nm-sec--split { padding: 96px 0; }
.nm-split { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 64px; align-items: center; }
.nm-split--inverse .nm-split__vis { order: 2; }
.nm-split__vis { display: flex; justify-content: center; }
.nm-split__img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: contain; }
.nm-split__img--cadre { border-radius: 24px; object-fit: cover; box-shadow: 0 24px 48px rgba(0, 0, 0, .35); }
.nm-split__txt { color: #fff; }
.nm-split__sous { margin-top: 40px; }
.nm-split .nm-puces { margin-top: 16px; }
.nm-split .nm-btn { margin-top: 32px; }

/* encart « mise en situation » */
.nm-encart {
	max-width: 1199px; margin: 0 auto; padding: 56px 77px; color: #fff;
	border: 2px solid #fff; border-radius: 24px; background: linear-gradient(214deg, rgba(8, 36, 59, .5) 25%, rgba(24, 132, 218, .5) 100%);
}
.nm-encart__txt { margin-top: 16px; font: 400 22px/30px 'Nunito', sans-serif; }
.nm-encart__txt p { margin: 0; }
.nm-encart__txt p + p { margin-top: 16px; }
.nm-encart__fort { font-weight: 800; color: var(--nm-vert); }

/* « Ce que Nerd te propose » : fiches + affiche */
.nm-propose { max-width: 1200px; margin: 56px auto 0; padding: 0 20px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.nm-propose .nm-cartes { padding: 0; max-width: none; }
.nm-propose .nm-cartes--3 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.nm-propose__affiche { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 24px 48px rgba(0, 0, 0, .35); position: sticky; top: 24px; }

/* affiches des solutions automobiles */
.nm-affiches { max-width: 1200px; margin: 56px auto 0; padding: 0 20px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.nm-sec--autres .nm-affiches { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1000px; margin-top: 40px; }
.nm-affiche { display: flex; flex-direction: column; gap: 14px; color: #fff; }
.nm-affiche__img { display: block; width: 100%; height: auto; border-radius: 14px; box-shadow: 0 16px 32px rgba(0, 0, 0, .35); transition: transform .25s; }
.nm-affiche:hover .nm-affiche__img { transform: translateY(-6px) rotate(-1deg); }
.nm-affiche__titre { font: 900 17px/23px 'Nunito', sans-serif; text-transform: uppercase; text-align: center; }
.nm-affiche:hover .nm-affiche__titre { color: var(--nm-vert); }
.nm-sec--autres { background: #062239; }

/* bandeau « Mets-nous au défi » */
.nm-defi { background: linear-gradient(90deg, #a2da36 0%, #115992 100%); }
.nm-defi__in { max-width: 1200px; margin: 0 auto; padding: 48px 20px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.nm-defi__titre { margin: 0; font: 900 40px/48px 'Nunito', sans-serif; text-transform: uppercase; color: #fff; }
.nm-defi .nm-btn--plein { background: var(--nm-bleu); }
.nm-defi .nm-btn--plein:hover { background: #fff; color: var(--nm-bleu); }

/* hub services : la carte photos (icône du site actuel) */
.nm-services--hub { padding-top: 0; }

/* blogue */
.nm-sec--blogue .nm-centre + #nm-arts { margin-top: 48px; }
.nm-arts { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.nm-art { display: flex; }
.nm-art__lien { display: flex; flex-direction: column; width: 100%; overflow: hidden; color: #fff; background: rgba(6, 44, 73, .5); border: 2px solid #fff; border-radius: 24px; transition: border-color .2s, transform .2s; }
.nm-art__lien:hover { border-color: var(--nm-vert); transform: translateY(-3px); }
.nm-art__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.nm-art__img--vide { background: linear-gradient(135deg, #115992, #062c49); }
.nm-art__corps { flex: 1; display: flex; flex-direction: column; padding: 24px 24px 28px; }
.nm-art__meta { margin: 0; font: 400 14px/20px 'Nunito', sans-serif; color: var(--nm-vert); text-transform: uppercase; letter-spacing: .5px; }
.nm-art__titre { margin: 10px 0 0; font: 900 20px/28px 'Nunito', sans-serif; text-transform: uppercase; }
.nm-art__extrait { margin: 12px 0 0; flex: 1; font: 400 16px/24px 'Nunito', sans-serif; }
.nm-art__plus { margin-top: 18px; display: inline-flex; align-items: center; gap: 14px; font: 700 16px/24px 'Nunito', sans-serif; color: var(--nm-vert); }
.nm-art__plus::after { content: ''; width: 5px; height: 5px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.nm-pagin { display: flex; justify-content: center; gap: 10px; margin-top: 48px; }
.nm-pagin__n { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; border: 2px solid #fff; border-radius: 50px; font: 700 16px/1 'Nunito', sans-serif; color: #fff; }
.nm-pagin__n.is-actif, .nm-pagin__n:hover { background: var(--nm-vert); border-color: var(--nm-vert); color: var(--nm-bleu); }
.nm-vide { max-width: 700px; margin: 0 auto; text-align: center; font: 400 20px/30px 'Nunito', sans-serif; color: #fff; }
.nm-groupe__btn { margin-top: 48px; }
.nm-citation__img--yoda { width: 200px; height: auto; }

/* article seul */
.nm-page--article { padding: 72px 0 96px; }
.nm-article { max-width: 860px; margin: 0 auto; padding: 0 20px; color: #fff; }
.nm-article__tete .nm-surtitre a { color: var(--nm-vert); }
.nm-article__h1 { font-size: 44px; line-height: 52px; }
.nm-article__vedette { margin: 32px 0 0; }
.nm-article__img { display: block; width: 100%; height: auto; border-radius: 24px; }
.nm-article__corps { margin-top: 40px; font: 400 19px/31px 'Nunito', sans-serif; }
.nm-article__corps > * { margin: 0 0 22px; }
.nm-article__corps h2, .nm-article__corps h3, .nm-article__corps h4 { margin: 44px 0 16px; font-weight: 900; text-transform: uppercase; color: #fff; }
.nm-article__corps h2 { font-size: 30px; line-height: 38px; }
.nm-article__corps h3 { font-size: 25px; line-height: 33px; }
.nm-article__corps h4, .nm-article__corps h5, .nm-article__corps h6 { font-size: 21px; line-height: 29px; color: var(--nm-vert); }
.nm-article__corps a { color: var(--nm-vert); text-decoration: underline; text-underline-offset: 3px; }
.nm-article__corps img { display: block; max-width: 100%; height: auto; margin: 32px auto; border-radius: 18px; }
.nm-article__corps ul, .nm-article__corps ol { padding-left: 24px; }
.nm-article__corps li + li { margin-top: 8px; }
.nm-article__corps blockquote { margin: 32px 0; padding: 20px 28px; border-left: 4px solid var(--nm-lime); background: rgba(255, 255, 255, .08); border-radius: 0 16px 16px 0; font-style: italic; }
.nm-article__corps hr { border: 0; border-top: 1px solid rgba(255, 255, 255, .2); margin: 40px 0; }
.nm-article__corps table { width: 100%; border-collapse: collapse; font-size: 16px; }
.nm-article__corps th, .nm-article__corps td { padding: 10px 12px; border: 1px solid rgba(255, 255, 255, .25); text-align: left; }
.nm-article__corps figure { margin: 32px 0; }
.nm-article__corps .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.nm-article__corps .wp-block-gallery img { margin: 0; }
.nm-article__corps .wp-block-spacer { display: none; }
.nm-article__suite { max-width: 1200px; margin: 80px auto 0; padding: 0; }
.nm-article__suite .nm-h2 { text-align: center; margin-bottom: 40px; }

/* contact */
.nm-phero--contact .nm-phero__equipe--contact { object-fit: cover; object-position: center; width: 100%; height: 100%; border-radius: 0 0 0 0; }
.nm-coord-hero { display: flex; flex-direction: column; gap: 6px; font: 400 18px/27px 'Nunito', sans-serif; color: #fff; }
.nm-coord-hero__lien { font: 900 32px/40px 'Nunito', sans-serif; color: var(--nm-vert); }
.nm-coord-liste { margin: 24px 0 0; padding: 0; list-style: none; font: 400 20px/30px 'Nunito', sans-serif; }
.nm-coord-liste li + li { margin-top: 12px; }
.nm-coord-liste a { color: var(--nm-vert); }

/* promotion */
.nm-promo { background: #fff; }
.nm-promo__in { max-width: 1200px; margin: 0 auto; }
.nm-promo__img { display: block; width: 100%; height: auto; }
.nm-promo__img--mobile { display: none; }
.nm-conditions { max-width: 900px; margin: 48px auto 0; padding: 0 20px; text-align: center; font: 400 16px/25px 'Nunito', sans-serif; color: rgba(255, 255, 255, .8); }
.nm-contact__photo--alex { object-fit: contain; object-position: bottom center; }

/* texte légal */
.nm-sec--texte { padding: 80px 0 96px; }
.nm-texte { max-width: 860px; margin: 0 auto; padding: 0 20px; color: #fff; font: 400 18px/29px 'Nunito', sans-serif; }
.nm-texte .nm-h1 { margin-bottom: 32px; }
.nm-texte__h2 { margin: 48px 0 16px; font: 900 30px/38px 'Nunito', sans-serif; text-transform: uppercase; color: var(--nm-vert); }
.nm-texte__h3 { margin: 28px 0 8px; font: 800 21px/29px 'Nunito', sans-serif; }
.nm-texte p { margin: 0 0 12px; }
.nm-texte a { color: var(--nm-vert); }
.nm-texte__li { padding-left: 18px; position: relative; }
.nm-texte__li::before { content: '•'; position: absolute; left: 0; }

@media (max-width: 1119px) {
	.nm-phero__img--contenu, .nm-phero__img--large { left: 0; top: 10%; width: 100%; height: 85%; }
	.nm-cartes--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nm-cartes--etapes .nm-ct { flex-basis: calc((100% - 32px) / 2); }
	.nm-arts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nm-affiches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nm-split { column-gap: 40px; padding: 0 48px; }
	.nm-encart { margin: 0 48px; padding: 48px; }
	.nm-defi__titre { font-size: 32px; line-height: 40px; }
}
@media (max-width: 1023px) {
	.nm-split, .nm-split--inverse { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
	.nm-split--inverse .nm-split__vis { order: 0; }
	.nm-split__img { max-height: 460px; width: auto; max-width: 100%; }
	.nm-propose { grid-template-columns: minmax(0, 1fr); }
	.nm-propose__affiche { position: static; max-width: 300px; margin: 0 auto; }
	.nm-defi__in { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
	.nm-cartes--2, .nm-cartes--3, .nm-arts { grid-template-columns: minmax(0, 1fr); }
	.nm-cartes--etapes .nm-ct { flex-basis: 100%; }
	.nm-affiches, .nm-sec--autres .nm-affiches { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.nm-ct { padding: 28px 22px; }
	.nm-ct__titre { font-size: 20px; line-height: 27px; }
	.nm-ct__no { font-size: 48px; line-height: 44px; }
	.nm-split { padding: 0 20px; }
	.nm-encart { margin: 0 20px; padding: 32px 22px; }
	.nm-encart__txt { font-size: 18px; line-height: 27px; }
	.nm-defi__titre { font-size: 26px; line-height: 32px; }
	.nm-defi__titre br { display: none; }
	.nm-article__h1 { font-size: 30px; line-height: 37px; }
	.nm-article__corps { font-size: 17px; line-height: 28px; }
	.nm-promo__img { display: none; }
	.nm-promo__img--mobile { display: block; }
	.nm-coord-hero__lien { font-size: 26px; }
	.nm-texte__h2 { font-size: 24px; line-height: 31px; }
}
.nm-boutons--centre { justify-content: center; margin-top: 40px; }
.nm-lien-texte { color: var(--nm-vert); text-decoration: underline; text-underline-offset: 3px; }
.nm-services--hub .nm-grille { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 56px; }
.nm-services--hub .nm-carte { flex: 0 0 360px; }
@media (max-width: 1119px) { .nm-services--hub .nm-carte { flex-basis: calc((100% - 48px) / 3); } .nm-services--hub .nm-grille { column-gap: 24px; } }
@media (max-width: 1023px) { .nm-services--hub .nm-carte { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 767px) { .nm-services--hub .nm-carte { flex-basis: 100%; } }
.nm-article__suite .nm-art__extrait { display: none; }
.nm-article__suite .nm-art__titre { font-size: 17px; line-height: 24px; }
.nm-page--contact .nm-contact__photo { object-fit: contain; object-position: center bottom; height: auto; max-height: 700px; }
