/* ==========================================================================
   Next Medical — home.css
   Styles propres au modèle Accueil (sections non partagées).
   Charge par-dessus main.css, uniquement sur template-home.php.
   ========================================================================== */

/* — Manifeste : encart de faits — */
.nm-facts { display: flex; flex-direction: column; gap: 0; }
.nm-fact { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--nm-line-dark); }
.nm-fact-label { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nm-ink-soft); }
.nm-fact-value { font-family: var(--nm-font-serif); font-style: italic; font-size: 20px; color: var(--nm-teal); text-align: right; }

/* — Engagements (3 colonnes) — */
.nm-engagements { padding: var(--nm-section-y) 0; }
.nm-engage-grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 72px; margin-top: 76px; }
@media (max-width: 860px) { .nm-engage-grid { grid-template-columns: 1fr; column-gap: 0; } }
/* Filet vertical placé à gauche de chaque colonne (sauf la 1re), avec respiration
   identique de part et d'autre (gap + padding) → colonnes bien aérées. */
.nm-engage { padding: 4px 0 4px 72px; border-left: 1px solid var(--nm-line-dark); position: relative; }
.nm-engage:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 860px) { .nm-engage { border-left: 0; border-top: 1px solid var(--nm-line-dark); padding: 32px 0; } .nm-engage:first-child { border-top: 0; padding-top: 0; } }
.nm-engage-num { font-family: var(--nm-font-mono); font-size: 12px; color: var(--nm-teal); letter-spacing: 0.12em; }
.nm-engage-title { font-size: 26px; font-weight: 400; letter-spacing: -0.02em; margin: 16px 0 12px; line-height: 1.15; }
.nm-engage-desc { font-size: 15px; line-height: 1.65; color: var(--nm-ink-soft); margin: 0; max-width: 38ch; }

/* — Pour qui : cartes — */
.nm-audiences { padding: var(--nm-section-y) 0; }
.nm-aud-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 64px; }
@media (max-width: 720px) { .nm-aud-grid { grid-template-columns: 1fr; } }
.nm-aud-card {
	display: flex; flex-direction: column; gap: 10px;
	padding: 36px; border-radius: var(--nm-radius); text-decoration: none;
	background: var(--nm-white); border: 1px solid var(--nm-line-dark);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s;
}
.nm-aud-card:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -28px rgba(13, 80, 73, 0.35); border-color: var(--nm-teal-soft); }
.nm-aud-num { font-family: var(--nm-font-mono); font-size: 12px; color: var(--nm-teal); letter-spacing: 0.12em; }
.nm-aud-title { font-size: 24px; font-weight: 400; letter-spacing: -0.02em; color: var(--nm-ink); }
.nm-aud-desc { font-size: 15px; line-height: 1.6; color: var(--nm-ink-soft); flex: 1; }
.nm-aud-go { font-size: 13px; color: var(--nm-teal); display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; }
.nm-aud-card:hover .nm-arr { transform: translateX(3px); }
/* .nm-zone-section / .nm-zone-grid / .nm-zone-canton sont définis dans main.css (partagés avec Contact). */
